Final Fantasy Hacktics

Modding => PSX FFT Hacking => Topic started by: pokeytax on February 07, 2011, 06:01:18 pm

Title: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on February 07, 2011, 06:01:18 pm

v 4.2
- PA/MA/SP buffs and debuffs now properly persist through item breaks, level ups, and everything else that triggers an ALMA check.

v 4.15
- ALMA's internal equipment Judge no longer throws red cards at the enemies (and dumps their stuff in your inventory).
- Some usability upgrades in progress, e.g. a Text tab so things are named correctly for your patch.

v 4.14
- Attribute offsets finally shipshape, I think. A preview issue and ALMAscript issue fixed.

v 4.13
- More bugs fixed with attribute offsets, and an HP overflow-ish issue resolved.

v 4.12
- Attribute summary added.

v 4.11
- Females can now equip bags/ribbons/perfume.
- SP/PA/MA bonuses and MOV/JMP/WP bonuses are no longer jumbled together.
- Statuses should work better.
- Disabling Move +1/2/3 and Jump +1/2/3 should work now.

v 4.10
- Well, got to release sometime. I wouldn't call this reliable but it's only half broken now.
- The skillset hack especially should be less broken, and finally handles equality checks as well as flags.

v 4.04
- This version should theoretically be good enough to be released as ALMA 4, if not ALMA 4.1. But I plan some more testing so don't hold me to that.
- It includes the old ALMA 3 disables and skillset hack, as well as limited preview.

v 4.03
- Some bugs were due to this code brushing against the end of the kanji table/freespace. I've temporarily moved it (so the hack functions) to the SentinelBlade/VincentCraven block, like a huge jerk, but I'm going to have to come up with a permanent solution, 'cause that's obviously not cool.
- That leaves limited preview and the ALMA 3 skillsets/disables as missing pieces.

v 4.02
- Changed layout so users can better avoid the acres of space wasted on passives.
- Fixed some more known issues like HP overflow at 32768 and stat buffs/debuffs not working. Getting closer to a release that's strictly superior to ALMA 3.

v 4.01
- Fixed a herd of bugs (RSM & traits not working, ALMAscript set up unintuitively, some attributes wonky...). This will continue for a while longer.
- Improved the ALMAscript description so that it's barely usable.

v 4.00
- Set bonuses implemented. An item can belong to two sets (or count twice for one set), e.g. Masamune can be in set 01 ("Genji") and set 05 ("katanas").
- Job level bonuses scrapped and replaced with simple attributes attached to jobs and secondaries. The replaced functionality will be available in ALMAscript.
- Identity attributes; e.g. Ramza (not uberSquire) gains Gained JP Up, Mustadio (not Engineer) gains Equip Gun.
- Revamped passives to work with RAD. Knight ability A4 can apply a passive to Knights and freelancers, A5 can apply to Knights and Battle Skill secondary, and A6 can apply to Knights only. There is more flexibility to give special characters global passives in their base class.
- Added "natural" stat boosts, which are affected by HPM/MPM/PAM/MAM/SPM.
- Added percentage stat multipliers for people who hate the number sixty.
- Fixed the issue where several low multipliers were all rounded down to zero instead of compounding.
- Added bonuses/multipliers for wonky stuff like evasion stats which may or may not work.
- Added brave/faith modification to attributes. YOU MUST DISABLE PERMANENT BRAVE/FAITH MODIFICATION. YOU SHOULD PROBABLY DISABLE IN-BATTLE BRAVE/FAITH MODIFICATION.
- Added the ability to strip RSM/status/elements (e.g. Flame Shield grants Absorb:Fire and Weak:Water, removes Absorb:Water).
- Added the ability to disable, enable, and disable with extreme prejudice equipment types, in that order. Example:
Knights can equip Swords.
If White Magic secondary disables Swords, Knight/White Magic cannot equip Swords.
Knight/White Magic/Equip Sword can equip Swords.
If the shield Escutcheon III hard disables all weapons, Knight/Equip Sword cannot equip Swords.
- There is an equipment check which enforces Two Swords/equipment restrictions, so stuff like Merit Awards and offhand daggers that grant Two Swords should be okay now. Two Hands might still be iffy, we'll see.
- Attributes have limited space now. Attributes 50-77 are "long" and can hold sixteen mods. Attributes 78-EF are "short" and can hold four mods.
- Attributes can be chained together; attribute 50 can hold fifteen mods and then call attribute 51, which can hold fifteen mods and then call attribute 52 to accommodate whatever monstrosities are required. (But don't have attribute 52 call attribute 50...)
- ALMAscript is going to be rad when it's done, but it's not. I'll tease it when it is.



v 3.32
- Fixed a minor bug where Lucavi gained 50 MA when any attributes applied - no biggie!

v 3.31
- Skillsets were broken, again? Really? I must have accidentally reverted to a previous version when adding previewability. Anyway they work now (hopefully).

v 3.3
- Added previewability for constant stat bumps on items.

v 3.2
- A somehow overlooked fatal bug with skillsets was fixed.

v 3.1
- A couple ugly bugs fixed with movement abilities.

v 3.0
- Skillset hack implemented: R/S/M can change the "Act" menu.
- Movement abilities can be disabled, allowing use of the slot for other purposes.
- "Equip Gear" support abilities and grayed-out support abilities for certain classes can be edited.
- The "Att. Summary" tab summarizes what your attributes do.

v 2.0
- pSXfin's persnickety attitude toward loads in delay slots has been catered to. This should be a stable release.
- Attributes rearranged for byte alignment. Don't be alarmed if the hex data seems out of order.
- Several bugs fixed, including one with "+C" entry.
- Useless Attributes II tab consolidated into Attributes.

v 1.e
- Patch currently working in ePSXe but not pSX. Yeah, I know, it's not good. I'm working on it, but I'm putting it out for now.
- Conditions on passives!
- Minimum class multipliers (HPM, etc.)
- Active R/S/M can be granted.
- Lucavi/??? stats no longer capped at 999.
- A few spreadsheet bugs caught.


ALMA: Ability-Linked Multiplier Attributes

In a nutshell, the ALMA hack lets you modify stats, status, elements, innates, and equipment availability based on a unit's loadout.

ALMA adds a new set of 160 ALMA attributes. ALMA attributes are a lot like item attributes, but they can do more; multiply stats, decrement stats, remove and grant equips or RSM, add Faith.

You can assign a multiplier attribute, or an existing item attribute to a ton of things, like jobs, known abilities, equipped R/S/M, and more.

These extra attributes are "add-ons", operating in addition to ordinary functioning - items still retain their FFTPatcher stats and item attribute, abilities still do what they normally do.


Instructions:
- Enter your changes into ALMA 4.xls.
- Copy and paste the entire 'XML' tab to a text file and save it as "ALMA 4.xml".
- Patch via FFTorgASM.

Known Issues:
- The item preview only works for flat increments/decrements of HP/MP/SP/PA/MA/MOV/JMP.
- WP and evasion modifiers are not yet functional in battle (right now the game overwrites these with actual equipment data).
- The hack is shoddily written, as the code is still in debug mode. It takes a ludicrous amount of allocated space in both BATTLE.BIN and WORLD.BIN, and even with better writing it'll still be quite large. There are no guarantees this is 100% stable. Let me know when you find a reproducible bug or crash.

To-Do:

- Finish R/S/M disables.
- Add previewability.
- Put off rounding down until the end, so several small multipliers can combine to add +1 PA.
- Revamp the ARH to allow use of Jump/Charge/Math Skill.
- Add RAD support to passives.
- Add basic scripting.

Technical Notes:
This patch branches from SCUS to BATTLE.BIN or WORLD.BIN depending on the unit ID. At the point I chose (RAM 0x5c82c, right after item attributes) unit ID (r17) is either a 0x19**** (in battle, BATTLE.BIN loaded), 0x1d**** (pre-battle placement, still BATTLE.BIN loaded), or 0x1f**** (world map formation, WORLD.BIN loaded - probably a temp location). So by branching based on unit ID, I was able to effectively add space to SCUS - the HP > min HP? and MP > min MP? checks the branch overwrites are duplicated in the routine.

I will document and post my code for this (although it's hideous; among other things, the SCUS branch takes almost twice the space it needs, and there are ton of hastily-inserted nops in the routine because I didn't know what load delay was until debugging).

Thanks to:
FDC, for where to patch the SCUS code I needed
Xifanie, for the ASM tutorial and the ARH hack
posters to the request thread, for tossing out ideas which led to this

Questions/comments/suggestions/scoldings solicited! This is not a finished product, it just finally stopped crashing. Right now it is a raw lump of pure functionality, so if you have an idea to make it more useful for your patch, or especially more useful in general, post it. I am going to relax a while but I'll be taking notes.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 07, 2011, 06:26:45 pm
I do think you went a bit made in coding something completely ridiculous and amazing.

Lots of fun features, though I don't know how much of this I could see myself using.  Others are probably drooling over some of the stuff here already... but as you can probably guess, I'm far more looking forward to your To-Do List and seeing this thing smashed with tons and tons of efficiency hammers.

Very nice work so far though.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: formerdeathcorps on February 07, 2011, 06:27:34 pm
You added signed loading to HP/MP bonuses?  Unless you made that a halfword, you can't add more than 128 HP/MP to a unit.  Personally, heavy armor and very powerful magical vests should add more than that.

EDIT: This is precisely why I didn't do that in my hack.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 07, 2011, 06:35:48 pm
Quote from: formerdeathcorps on February 07, 2011, 06:27:34 pm
You added signed loading to HP/MP bonuses?  Unless you made that a halfword, you can't add more than 128 HP/MP to a unit.  Personally, heavy armor and very powerful magical vests should add more than that.


This is a separate subroutine from the normal flow of item stats and item attribute. It is essentially a second layer of item attribute. Just give the heavy armor 220 HP via FFTPatcher. It's more for adding HP to weapons/shields/accessories/abilities, in which case I figured the flexibility of negatives beat the benefits of higher positives.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: philsov on February 07, 2011, 07:07:04 pm
downloading now.

I will soon puke in hacking goodness that this provides.  

Balance kryponite is a very accurate way to describe this juicy, lucious hack.

Edit:  Just had to look up the topic title.  Very clever and very fitting.

Edit2:  Random spreadsheet suggestions/notes:

1) Re-introduce cell outlines in the attributes section on the next update
2) If I want to toggle something in the attribute columns, like, always: float or half: fire... what do I type?
3) When I opened it up, I wasn't given the warning about this containing macros.  Likely a non issue, but I'm so accustomed to spreadsheets from this site having that quality.  You sure you didn't miss something? ;)
4) I can ignore the CODE sheet and just straight patch with OrgASM, yes?
4a) I just took this for a small test drive.  Set the HP+C attributes of 50 to 20, 51 to 10, and 52 to 5.  Assigned these to random movement abilities (move on lava, move in water, walk on water) on the equipped abilities sheet, and... none of them worked.  I know the previews messed up, but this is equipping any of these abilities, exiting formation and checking again, and then going into a random with no results in either the PBF or the actual battle.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 07, 2011, 10:02:09 pm
Hmmmm... working fine for me. I attached the .xml I'm using. Don't beat your head against it, it should be working perfectly and if it's not I need to simplify it.

2) Type the number 1.
3) It uses DEC2HEX and HEX2DEC from the Analysis Toolkit, is all.
4) Of course - in fact, this probably works better than the spreadsheet for small values of hack. Honestly, I don't have a functional Excel w/Toolkit at home and I've done most of the testing by hand entry.

Here is the layout of the hack:

SCUS_942_21 0x4D02C: branch
WORLD.BIN 0x671F8: main routine
WORLD.BIN 0x68000: lookup table <--- B2:B227 goes here

0-FF: items
100-157: active R/S/M (by byte, but 01 is first and 0x80 is last)
158-16F: reserved dead space for now
170-337: learned abilities
338-387: job levels

WORLD.BIN 0x68400: attribute data <--- B229:B252 goes here
BATTLE.BIN 0xF2FB8: main routine
BATTLE.BIN 0xF3500: lookup table <--- B2:B227 goes here
BATTLE.BIN 0xF3900: attribute data <--- B229:B252 goes here


Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Eternal on February 07, 2011, 10:08:02 pm
I have absolutely no idea how to use this, but it looks good nonetheless. I'll mess around with this tonight. Good work! :D
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Desocupado on February 08, 2011, 05:05:59 am
So could we easily have the FF V system?
Where equiping Black Magic increases your magic multiplier, if you set it as a secondary skillset?
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: formerdeathcorps on February 08, 2011, 05:33:23 am
Quote from: Desocupado on February 08, 2011, 05:05:59 am
So could we easily have the FF V system?
Where equiping Black Magic increases your magic multiplier, if you set it as a secondary skillset?


Eventually.  It currently changes it if you have it unlocked, or if your BM job level exceeds X.  There's currently no requirements on active skillsets (primary or secondary).
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: philsov on February 08, 2011, 09:33:46 am
QuoteHmmmm... working fine for me.. 


I'm an idiot :).  I just realized that I need to update the xml myself -_-.

Notepad suffices for xml editing, ya?
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Eternal on February 08, 2011, 09:41:26 am
If you have Excel, you can just edit the .xml in that, I think. It works for editing Patcher names, at least.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: philsov on February 08, 2011, 11:07:46 am
well I edit patcher names with notepad :).  I just want to make sure I don't mess up with an automatic linebreak or something.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Pickle Girl Fanboy on February 08, 2011, 12:11:48 pm
Vanya will ****ing love this.  Freelancer HO!

And holy hell you outdid yourself with this one.  This is so much more functionality.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 08, 2011, 06:21:07 pm
I updated the OP with a new spreadsheet that is hopefully less like pulling teeth. The attributes sheet has been replaced with an attributes sheet that isn't terrible, and copy-pasting code has been replaced with a button that spits out an .xml file.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Vanya on February 08, 2011, 06:50:58 pm
Quote from: Pickle Girl Fanboy on February 08, 2011, 12:11:48 pm
Vanya will ****ing love this.  Freelancer HO!


Damn straight, baby!! ^_^
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: philsov on February 11, 2011, 10:23:16 am
Quote from: pokeytax on February 08, 2011, 06:21:07 pm
I updated the OP with a new spreadsheet that is hopefully less like pulling teeth. The attributes sheet has been replaced with an attributes sheet that isn't terrible, and copy-pasting code has been replaced with a button that spits out an .xml file.


And it looks glorious
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 11, 2011, 08:01:30 pm
Okay, uploaded a new new version that fixes a bug with negative stat boosts and removes an entire useless tab I somehow didn't get rid of before now.

The next version will try to add the major missing parts I see - minimum HPM/MPM/PAM/MAM/SPM (e.g. get the higher of current job MA or 60%/70%/80%/90% of Wizard MA), attributes adding R/S/M (e.g. Potion Belt accessory adds Throw Item, learning Two Swords gives permanent Two Swords), and conditions on learned ability/job level attributes (passives are for active job and/or active secondary only, passives only apply to Squires).

So here are my questions:

1) Is there any other functionality anyone wants (that's attached to this hack, I'm working on the other stuff)? Might not be doable, or out of the scope of the hack, but it won't hurt to ask.

2) What is a good way to set conditions on passive abilities?

My plan is to hardcode a few different schemes:

- always active
- active job = XX (e.g. Squire)
- active job = passive's job
- active secondary = passive's job

and make any combo of these selectable separately for learned abilities and for job levels, so you could have spending JP on A/R/S/M increment only active job stats/innates and job levels increment Freelancer + secondary skillset stats/innates, or vice versa.

3) I don't know much about skillsets. If I have an uber-generic, is an advanced patch going to give them skillsets outside 05-17 as secondaries, or can I count on those numbers being the same equippable secondaries that I can associate to Archer and Lancer passives, gutted and remodeled though they may be?
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 11, 2011, 08:40:34 pm
Can you clarify that last bit about passives some more?

1) Nothing that's not already on the To-Do List.  You know which ones I want the most.

2) Those ways seem fine.  They're the most intuitive options, at least.

3) I don't know what you mean in terms of "uber-generic", but if it helps your query, I know I do personally intend to use skillsets beyond 5-17 as generic unit skillsets due to some incredible bullshit I'm going to be performing with the Generic Skillset Hack.  This bullshit doesn't quite cover everything I need it to though, and ALMA does nothing to help the matter in this regard.  If you want to try aiding me in using huge amounts of smoke and mirrors to pull something very amazing off, I can either PM you or post in your other thread, but either way I'd still be using post-17 skillsets personally because of the hardcoding on Item, Draw Out, Throw, and Elemental.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 11, 2011, 10:08:39 pm
Passives: Yes, this is awfully confusing. There are two things the game keeps track of, learned abilities and job levels, which I'm lumping together as "passive" abilities. If I can confirm that the game sets the three learned abilities bytes to $FFFFFF as a Mastered! flag for all classes, I guess that counts too.

I don't think it's flexible enough to apply the same scheme of those four to all of these; to roughly replicate FFV, for example, you need to have Mastered! flags add traits on scheme 2, abilities add traits on scheme 3, and job levels add traits on scheme 4. I want to leave the option for someone to have more than one system of passive bonuses going at once.

Quote from: RavenOfRazgriz on February 11, 2011, 08:40:34 pmeither way I'd still be using post-17 skillsets personally because of the hardcoding on Item, Draw Out, Throw, and Elemental.


Yeah, that's what I wanted to know, just what secondaries an endgame unit can equip. I'll probably just let people manually attach a secondary to a class. It never hurts to post a request, that way anyone else who sees it and has an idea might give it a go. (I'm not as cunning as Xifanie and FDC though.)
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 11, 2011, 10:51:48 pm
Quote from: pokeytax on February 11, 2011, 10:08:39 pmYeah, that's what I wanted to know, just what secondaries an endgame unit can equip. I'll probably just let people manually attach a secondary to a class. It never hurts to post a request, that way anyone else who sees it and has an idea might give it a go. (I'm not as cunning as Xifanie and FDC though.)


I see.  Basically, I'll be using the Generic Skillset Fix to allow the "main" skillset of Chemist, Samurai, Geomancer, Ninja, and Lancer become empty skillsets by having them reference 05 Basic Skill, then using bullshit that calls those "old" skillsets elsewhere.

If you want a short version of what I'd need in a request form, it'd be gutting existing Support or Movement Abilities I no longer need and coding them to call a specific skillset or command instead.  I can give you more details in your other thread if you want to try it, since it's not within ALMA's scope.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: philsov on February 12, 2011, 01:56:26 pm
1) Only thing I can want additionally are the conditional passives you're already planning

2) Always passive when equipped as a primary or secondary is my ideal scheme.  I can see a perk to "always" though.

3) I'm staying at 05-17, personally.  At least for the friendlies.  I give enemy generics custom skillsets at 4C+.  Like normal black magic is 0B but it can also be either 5B, 5C, 5D, or 5E for some enemies.  Possibly make it when XXX ability is learned AND active, rather than being purely skillset based?  idk.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: formerdeathcorps on February 12, 2011, 02:19:34 pm
I want to insert AI tournament champions into random battles in their full glory.
Is it possible to have ALMA give only AI units the ability to have if Job Class X...automatically learn skill Y or be Job Class Z (on a totally unrelated class...like Knight with White/Yin-Yang Magic).  If that's too hard, something like using the numbers 9-16 on the ENTD's job level byte to mean the job level of both the main and the subclass of a unit (so 9 means level 1 in subclass and main, overriding prerequisites needed for the main class...and 16 would mean level 8 in subclass and main) would be appreciated too.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Pickle Girl Fanboy on February 12, 2011, 03:14:47 pm
*checks on Proverbial*
QuoteOn hold until:
1.  Additional item attributes hack
2.  Equipment can generate negative move/jump/ev/sp/pa/ma values hack
3.  AI hack
4.  Custom formulas
5.  Immunity to Crystal and Treasure?  Remove Crystal and Treasure?


1 and 2 are done, 3 and 4 are getting there, and I don't even remember why I wanted 5.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 12, 2011, 04:29:41 pm
ALMA gives you the unit offset (at r17) and space to work with it. I'll try to comment and post the code this week, but since you know what you're doing, 16720108 at BATTLE_BIN 0xF320C is the jump back to SCUS from ALMA (j 0x0005c858). If you're doing an AI hack, you shouldn't need to touch the WORLD_BIN section, so just change that line to jump to freespace in BATTLE_BIN, write your hack, and jump to 0x0005c858 when you're done.

It sounds like you're just checking byte 5, checking byte 0, setting byte A8 (or whatever) - that should be easy. The hard part is limiting it to just certain AI Knights, if that's what you want. I have never touched the ENTD in any capacity so I don't know if setting job level to 9-16 there actually impacts the final unit data. The unit's name is available as a last resort, although that's cumbersome.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Vanya on February 12, 2011, 09:44:54 pm
Quote from: RavenOfRazgriz on February 11, 2011, 10:51:48 pm
I see.  Basically, I'll be using the Generic Skillset Fix to allow the "main" skillset of Chemist, Samurai, Geomancer, Ninja, and Lancer become empty skillsets by having them reference 05 Basic Skill, then using bullshit that calls those "old" skillsets elsewhere.

If you want a short version of what I'd need in a request form, it'd be gutting existing Support or Movement Abilities I no longer need and coding them to call a specific skillset or command instead.  I can give you more details in your other thread if you want to try it, since it's not within ALMA's scope.


So basically you're going to use support abilities to give the user Item/Draw Out/Geomancy/Throw/Jump/etc. That's fairly damn well ingenious. You have it balance itself out by negating a support slot. I love you man!!
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 12, 2011, 10:21:19 pm
I have far more ingenious game mechanics from where those came from as well, dear Vanya.  But yes, that is more or less my plan exactly, coupled with two Support Ability slots per unit and a slew of new Support Abilities.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 17, 2011, 06:31:52 pm
Still chugging along. The conditionals should nail 95% of FFV functionality, which is broad enough to cover almost any other passive/innate scheme you could want, and the Min. HPM/ability stuff should be cake after that.

FDC's request was novel and got me thinking. After this chunk, I will probably try to tack on some kind of primitive scripting: a spreadsheet tab where you can set up simple conditionals, if BYTE1 = X AND BYTE2 = Y THEN BYTE3 = Z. (Don't freak out, the end product will be as general and user-friendly as possible, ORs and status/ability bits, etc.) It's not ideal because it's called after item attributes, which means a guaranteed call before battle and then irregular calls when stuff gets broken or you level, but for semi-permanent things like tweaking skillsets I'm assuming it would be better than nothing. Thoughts or suggestions?
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 17, 2011, 07:01:40 pm
You'd need to explain that in more retard-friendly terms to get feedback on that, Pokeytax.  Even I don't exactly know what your script there would be doing.

And Pickle Girl Fanboy, you could easily just set things immune to Crystal and Treasure in FFTPatcher, lol.  Either that or make Immortal Status not block anything that make a small ASM hack that makes all units on a map spawn Immortal, including those placed by the player.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: The Damned on February 17, 2011, 07:33:38 pm
Since this got bumped, it reminded me that I had yet to comment on it with as much as a "good job". So..."good job".

Beyond that, given what philsov mentioned offhand in one of the ASM'd threads, I've become curious about something since you asked for functionality requests. This is more of an inquiry as to whether its possible (already) than a request. (Although I guess it would be something I might want to use, especially since it would be easier to balance than a lot of other existent ALMA functions.)

Anyway, I hope can make this inquiry clear: Would it be possible to include an "SOS"-like functionality into some supports such that they only become active when you go into or past Critical? If so, then would it also be possible to make it so that they don't trigger should the unit with the SOS-ability get revived but still be in the critical range? Furthermore, would it be possible to make it so that the bringing the unit out of critical would get rid of the status?

I'd imagine the third one would be pain in the ass even if it was possible and the second one is probably possible but a pain in the ass. As such, I'm only interested about the answer to the first question, especially since its answer determines whether the second or third ones are even relevant inquiries.

Thank you in advance.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 17, 2011, 07:55:42 pm
Well, FDC is asking for a hack that checks IF a unit is an enemy, IF their class is Knight, and IF their secondary is Yin-Yang Magic, and if so, sets their known Yin-Yang Magic to (for example) Paralyze and Spell Absorb only.

Or you could give innate Maintenance to any enemy with exactly 77 Brave; or you could give all Calculators Black Magic as their primary skillset instead of Math Skill; or you could make a sword that keeps switching to your left hand, or you could give all Aquarius units Strengthen: Water.

In theory you could read and fiddle with anything from http://ffhacktics.com/wiki/Formula_Hacking (http://ffhacktics.com/wiki/Formula_Hacking), limited by the fairly strong constraint that you get a guaranteed call before battle and then weird irregular calls during battle (equipment breaks, level up). This is still in the "hey guys I had this idea" stage, I just thought I'd throw it out there.

Quote from: The DamnedWould it be possible to include an "SOS"-like functionality into some supports such that they only become active when you go into or past Critical?


Like most things, it's possible, but it's something you'd code with the status and not something I can think of a way to easily automate.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 17, 2011, 08:10:45 pm
I see.  That could potentially be useful for keeping the AI from learning skills it can't use properly within a set.  For example, rigging an AI Priest to not learn Holy but a Wizard with White Magic secondary to learn Holy to remove idiocy without removing Holy from the Priest skillset since some people like to foam at the mouth with "but it's Final Fantasy, Priests need Holy despite it making no fucking sense!"

The only problem is that I would see this affecting every Priest equally... so you'd need to be able to make checks like IF unit is Priest, IF secondary is Yin-Yang Magic, and IF Job Level is 3, for example, so that you can make things scale properly.

An SOS function would be useful, but making it not work on revival would be... kinda hellish, most likely.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: The Damned on February 17, 2011, 08:13:42 pm
Ah, I feared as much. Still, that's good to know.

As far as you know, if you did code with the status, would that status pop for everyone? Or there be a way to make a Support or Reaction or whatever a "trigger" for it to prevent that?

Thanks regardless.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Vanya on February 17, 2011, 09:20:55 pm
If you found the code that the SOS support abilities use to trigger couldn't you just modify that and use it with ALMA?
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 17, 2011, 09:42:46 pm
Your best bet for an SOS ability would be to hijack Evil Looking, remove the animation, then code it to have a check like this:

If HP is XX%+ and damage that reduces HP to below XX% is taken, apply status automatically.  If HP is XX%- and healing is taken that makes HP increase beyond XX%, cancel status if it is currently being applied.  If Dead is applied and this status is currently being applied, remove this status.  If Dead is canceled and HP is increased from 0% to 1%-XX%, cancel this status if it is currently being applied.  (I know the last check is 99% unnecessary, but with how different this is from current FFT Statuses, it's probably smart to include a failsafe to ensure it works correctly.)

Then, leave the status itself empty and code some Supports to only turn "on" if this Status is found on the equipped unit.  This would replicate an SOS status, and allow you to give a unit "SOS" innately in case you want them to be able to use an "SOS Support" regardless of their HP level, for maximum customization.

Have fun coding that, though.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: The Damned on February 17, 2011, 10:15:25 pm
Considering I've yet to code anything and don't plan on coding anything (major) any time soon, I'll certainly...keep that in mind.

You have given me another idea, though....
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 17, 2011, 10:36:38 pm
Quote from: Vanya on February 17, 2011, 09:20:55 pm
If you found the code that the SOS support abilities use to trigger couldn't you just modify that and use it with ALMA?


ALMA lives next door to item attributes - it only pays attention at the start of battle and when something triggers a unit data recalculation (e.g. Equip Change, level up/down). So it wouldn't notice you were Critical unless you used Equip Change.

I have thought about SOS supports before too, but unless you have a really brilliant idea they seem like too much hassle to be worth the time. Fiddle with Critical Quick to mimick SOS Status, or code SOS Short Charge to key off of Critical status and just forget about part 2, is what I would do.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: The Damned on February 17, 2011, 10:52:50 pm
Oh, since you're speaking of Equip Change, I've another query. It too is more of an inquiry thing than a request: While doing this, have you seen any possible way to make the AI actually aware of Equip Change to potentially use it?

I don't even care if the AI recklessly uses it like Defend; I'm just curious if you seen someway to make them use it at all.

Like the SOS one, this isn't terribly important (and I've already thought of several work-arounds if it does exist). Just a matter of curiosity.


Defensive EDIT: Although, of course, it would be good to hear they didn't use as proactively, but more used it when the change in equipment would benefit them in someway. Still, without set limitations [I'm not sure if Level would do just for the AI given what they've technically access to), it seems like it screw over most offensive status and, depending on the patch, at least the primary elements if not all of them.

Now that I'm thinking about it, though, does the Defend command also qualify as a "trigger" that would work with ALMA?


Weaponized EDIT: An additional query occurred to me when thinking about the ARH (which I've still no idea how to use): Could you use ALMA to ensure that enemies didn't buy skills they couldn't use with weapons that they can't use or weapons that they can't use but don't have equipped?
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: LastingDawn on February 18, 2011, 10:59:37 am
...Whoa.

This goes right up there with the ARH! Incredible work! I haven't had much time to do much hacking lately (been very busy with my classes) but I'll try and play around with this! This is more or less a dream come true! The possibilities are simply now astronomical!!
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 18, 2011, 06:08:31 pm
Quote from: The Damned on February 17, 2011, 10:52:50 pm
Equip Change


Lots of coding, involving, at the very least, a totally new complex AI routine. Unless this is somehow the foundation of your patch it's not worth it (I mean seriously, even humans don't use Equip Change). Have an ability that requires Equipment 1 and sets Equipment 2, then bribe the AI to use it? (Or is the AI even bound by the ARH... yeah you're on your own for now  :?)

QuoteNow that I'm thinking about it, though, does the Defend command also qualify as a "trigger" that would work with ALMA?


No, triggers are things that change your base stats, Defend adds a status. All ALMA does during battle is make sure that your PA goes down from 20 to 14 when your Bracer is stolen and you have "PA * 200%" on. It can do lots of cool stuff with unit stats/abilities but nothing else.

Quote
Weaponized EDIT: An additional query occurred to me when thinking about the ARH (which I've still no idea how to use): Could you use ALMA to ensure that enemies didn't buy skills they couldn't use with weapons that they can't use or weapons that they can't use but don't have equipped?


With the proposed scripting: could remove the skills, could add appropriate skills, could not give back the JP and tell them to go buy skills again.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 18, 2011, 07:08:41 pm
AI is bound by ARH 2.1 as far as I'm aware.

Eternal248 and I had a moderately more useful idea for Equip Change, but it involves a lot of meditation and digging deep into the hellish, puss-filled bowels of the monster known as Final Fantasy XIII.  It's another bit of impressive Assembly Fuckery that you could try to make once I have a concrete plan set up if you want, pokeytax.  If not, I understand, ALMA's already a bit of impressive Assembly Fuckery once you get the code's belt tightened, so to speak. 
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 19, 2011, 05:57:54 pm
Debugging this, kill me now.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: RavenOfRazgriz on February 19, 2011, 06:45:41 pm
Haha.

Maybe when you're done the debugging, if you ask reeeeeeally nicely.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 20, 2011, 07:08:01 pm
Uggggghhhh... the code is functioning fine (e.g. on stepthrough) but getting the following errors in pSX:

Assertion failed: cyc<=cpuinfo->min_execute_cycles, file .\src\recompiler.cpp, line 643
Assertion failed: lf, file .\src\recompiler.cpp, line 1163


Hopefully that doesn't mean it's choking the emulator... it's not that long! (Okay, it kinda is, but...)

EDIT: Huh, yeah, it's running fine in ePSXe. Doesn't that just beat all? Any help anyone can offer on what exactly that means would be nice, but I'm guessing this is out of most people's expertise. Doesn't look as easy as just cutting the CPU usage.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Vanya on February 21, 2011, 12:57:36 pm
pSX is less accurate than ePSXe, I think. So it could just be the emulator.
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: pokeytax on February 21, 2011, 03:27:01 pm
Yeah, I dunno how much more time and sanity I can invest tracking down an emulator-specific bug that only shows up in runtime, not on stepthrough, and isn't just # of CPU cycles. I might just release the code as-is, fully functional on ePSXe, and try to track down the bug later. (Oh, so it works if I set a breakpoint at the first line, but never trips the breakpoint... seriously?!)
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Pickle Girl Fanboy on February 21, 2011, 05:08:31 pm
We need a PS1 equivalent of bsnes.  Or maybe pSX Author should release 1.4, which fixes a lot of bugs and does PS2 emulation.

Why would you make an emulator and not release it, or the source code?
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: pokeytax on February 22, 2011, 10:25:19 pm
Gonna bump this now that a semi-stable version is up - conditional passives, minimum HPM/MPM/SPM/PAM/MAM, and abilities on attributes added.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: LastingDawn on February 24, 2011, 11:06:35 am
Quote from: pokeytax on February 22, 2011, 10:25:19 pm
Gonna bump this now that a semi-stable version is up - conditional passives, minimum HPM/MPM/SPM/PAM/MAM, and abilities on attributes added.


Ah an update! Fantastic. Still only usable on ePSXe for the moment though, I would imagine?
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: philsov on February 24, 2011, 01:16:51 pm
So.. with passives, can you explain these functions?

ARSM = abilities/RSM, wherein simply knowing that slot is a passive bonus
Job level = stuff gained from levels
Msatered = full skillset = blammo

makes sense

But attached to?  What's the difference between job XX and job?  Everything and secondary make sense.  More to the point, what is the combination of functions necessary to invoke "when the skillset/ability is equipped by either primary class or secondary skillset".  And what purpose does the Mime/Squire/02/03 line serve?

Meanwhile, with the attributes II sheet, does this enable RSM functionality to be granted when equipped with ability X?  Like... if I toggle Brave Up, and then attach that attribute to Faith Up, then whenever I equip Faith Up, I also have Brave Up?  And, for the sake of curiousity and recursion, if I were to toggle Brave Up, assign that attribute to Faith Up -- and then on another attribute slot toggle Faith Up, and then assign that to Counter -- when I equip counter, what happens?
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: LastingDawn on February 24, 2011, 01:34:31 pm
Quote from: philsov on February 24, 2011, 01:16:51 pm
So.. with passives, can you explain these functions?

ARSM = abilities/RSM, wherein simply knowing that slot is a passive bonus
Job level = stuff gained from levels
Msatered = full skillset = blammo

makes sense

But attached to?  What's the difference between job XX and job?  Everything and secondary make sense.  More to the point, what is the combination of functions necessary to invoke "when the skillset/ability is equipped by either primary class or secondary skillset".  And what purpose does the Mime/Squire/02/03 line serve?

Meanwhile, with the attributes II sheet, does this enable RSM functionality to be granted when equipped with ability X?  Like... if I toggle Brave Up, and then attach that attribute to Faith Up, then whenever I equip Faith Up, I also have Brave Up?  And, for the sake of curiousity and recursion, if I were to toggle Brave Up, assign that attribute to Faith Up -- and then on another attribute slot toggle Faith Up, and then assign that to Counter -- when I equip counter, what happens?


I was just about to ask similar questions, maybe I'm not understanding it right...

But am I able to attach the functions in Attributes II to Items, if so desired? Say I want a Robe which gives M.Atk. Up or a unique weapon that has Maintenance. Is that the intended functions of these? And if so how am I to give that to the items? Since the values for the two appear to be the exact same, 50-9F.

EDIT: Or are the two attributes combined, so to speak? Say I made Value 50 as +10% MP and Value 50 of Attribute 2 as Distribute... So if I wanted to add +10% MP to a Rod and give it Distribute. Would the two stack? Or is only one value applicable?
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: pokeytax on February 24, 2011, 05:27:28 pm
It's still only ePSXe. It's got a ton of bugs too atm, but once I find and kill the pSX bug I will release a new version.

Job XX should probably be labeled "Freelancer". It enables all attributes if, and only if, current job is one of the jobs at right.

So if you set:

all three columns to job XX: "Yes", left the stuff at right as is
Knight A1: +2 PA
Knight Job Level 4: immune to Chicken
Knight Mastered!: Equip Armor

then:

- Squires, Mimes, Chapter 2-4 Ramza, and specials (e.g. Holy Swordsman, Engineer, Angel of Death, but not monsters) gain these bonuses if the conditions are true. (Yes, Ramza counts as a special; those numbers are there just to demonstrate you can manually enter values.) So learning Head Break grants +2 Freelancer PA, hitting job level 4 grants Freelancer Chickenproof, mastering Knight grants Freelancer Equip Armor.

- Knights never get these bonuses ever (unless "everything" or "job" is checked as well).

So to get the scheme you want, set "secondary" and "job" to yes for all three columns. That will grant all bonuses on the Knight line when job is Knight or secondary is Battle Skill.

Things to note:
- You can only get a bonus once, no matter how many conditions you satisfy.
- You can flag job, job XX, and secondary conditions to recognize special base jobs and special base skillsets. So if your scheme is "job or secondary" and you choose "Specials" on the drop down:

Mustadio gains Squire bonuses when wielding Snipe and/or an Engineer.
Queklain gains Squire bonuses when he's, uh, Queklain.
Agrias would not gain Squire bonuses if she somehow had Ja Magic as a secondary, but she would if she had Holy Sword.
If you used Wiegraf's sprite, but gave him Delita's job, Delita's primary skillset and Punch Art as a secondary... I don't think he would gain Squire bonuses. I am not at all conversant in how mixing and matching that stuff works.

- Mastering a class automatically enables all ability bonuses (it sets these bytes to $FFFF). So unfortunately, you can't do anything fancy like making Squire RSM6 grant Equip Gun and making Mustadio the only person whose base skillset has a sixth RSM - anyone who masters Squire or their base class will get it too.

ALMA's RSM recursion is only one level deep. It will add the rest of the attribute, but not more RSM.

So if:

attribute 50 adds "Brave Up" and PA + 1
attribute 51 adds "Faith Up" and MA + 1
"Faith Up" possesses attribute 50
"Counter" possesses attribute 51

then:

"Brave Up" grants "Brave Up"
"Faith Up" grants "Faith Up", "Brave Up", and PA + 1
"Counter" grants "Counter", "Faith Up", PA + 1, and MA + 1.

Of course, if you had attribute 51 grant "Brave Up" AND "Faith Up", you would get all three; follow the chain downstream and you can simulate any recursion you want. But this way you get nominally more quirky functionality, for example 80% of reactions adding Weapon Guard, but Weapon Guard adding Defense UP when specifically equipped. Obviously the lack of recursion was a brilliant design decision, not just programmer laziness justified after the fact!

There's only one attribute 50. It adds everything from either tab. I will probably merge the two tabs for clarity at some point.

To have the the item "Rod" to add +10% MP and Distribute:

"66" in cell F3 on "Attributes" tab
any value in cell AE2 on "Attributes II" tab
"50" in cell F13 on "Items" tab.

You still have to worry about the general rules for stacked reactions, which I know nothing about, but you would get both, and any attributes attached to Distribute on the "Equipped Abilities" tab would also trigger.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: LastingDawn on February 24, 2011, 05:38:48 pm
Excellent! So we can use RSM through items now! This will really help in a ton of patches, I know it will help for mine! Thanks for the indepth answers Pokeytax and keep up the great work!
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: philsov on February 24, 2011, 05:41:27 pm
QuoteObviously the lack of recursion was a brilliant design decision, not just programmer laziness justified after the fact!


It... actually is more brilliant and options up more options than full followthrough.  :D

Have you looked into reaction dominance yet? Because combining some lesser reactions might make them halfway decent, but I'm curious on which one gets priority if they share triggers.  If not I'll do it this evening and post results.  At least I can combine Catch with Arrow Guard >_>
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: pokeytax on February 24, 2011, 06:48:51 pm
If anyone is feeling clever, try to think of a good way to implement passive abilities as part of a skillset.

You can just tack on bonuses to existing abilities, but unless you have a really fitting class, that screams "I couldn't figure out how to do this right." Works for Lancer but not much else.

You can use ARH to disable an ability entirely, but then you're down an ability slot.

I was thinking... a few enemy-only skills, such as the Fear skillset and Poison Frog, are CT 0. The player will never be able to view the data for these via the AT table. Could you add Poison Frog to the Mediator skillset, set it to Lucavi use only via ARH, change all the text associated with it without changing any of its functionality, disable display ability name, and have it add Short Charge via ALMA? You lose the displayed name when cast in battle, but that seems like a good tradeoff for free passive ability slots. Am I missing something?
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: RavenOfRazgriz on February 24, 2011, 07:19:09 pm
Can't you just add unused Jump skills to the bottom of a standard skillset, or does that glitch out?  It's not like you need more than 3 of those fuckers for the Jump command anyway.

Otherwise, yeah Pokeytax, what you said should work, though it'll still appear in the player dropdown when checking to cast a skill I believe, even though they can't actually use it.  Though that also means the Lucavi gets whatever innate buff you were giving to that class too.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: pokeytax on February 24, 2011, 07:33:17 pm
Quote from: RavenOfRazgriz on February 24, 2011, 07:19:09 pm
Can't you just add unused Jump skills to the bottom of a standard skillset, or does that glitch out?


Heh, yeah, I tried that first. They can be used glitchily, I don't think you can disable them with vanilla ARH, and they display weird CT/MP. Are the Jumps/Charges/Maths hardcoded slots you can't change to normal abilities? (I seriously don't know this.) If so... that's terrific! :D At least this would make some use of them. It can't be that hard to let ARH disable their active "use".

Yeah, it'll be grayed out - that's life, I can't think of a way to make it vanish entirely.

The Lucavi shouldn't get the buff, unless their class is Mediator - it's not attached to the ability Poison Frog, but to knowing Mediator ability #13. You could stick "Cannot enter water" in there, and if ARH could disable its use and the game didn't crash, it would probably work fine.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: RavenOfRazgriz on February 24, 2011, 07:38:17 pm
Yes they are hardcoded slots you can't make use of normally.  If you can make the game run without glitching, assuming you don't intend the player to use the skills, they make great filler slots for this since you can get away without using the majority of them even if leaving Charge and Jump in the game as primary sklillsets.

And I see.  I misread your post earlier then.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: pokeytax on February 24, 2011, 07:51:12 pm
Quote from: RavenOfRazgriz on February 24, 2011, 07:38:17 pm
Yes they are hardcoded slots you can't make use of normally.


Wow, excellent, who cares about my idea! Should be pretty easy to set dummy information so these display as CT 00 MP 00 skills, tweak ARH a bit so it can disable them, and get back as many slots as you could ever need, between Jump/Charge/Math/Throw/Item.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: LastingDawn on February 24, 2011, 09:36:19 pm
Actually... if you're using ARH to make "Dummy skills" like  for instance...


Squire

Ability No. 5  - "+50 HP"

If you set +50 HP as an unattainable skill through ARH (Requires a Two Handed Weapon and a Shield for instance...) then that skill should be Sealed and never seen by the player when they look through their battle commands.


EDIT: Maybe I'm missing something, but I can't figure out how to put in solid values in the +C boxes. Everytime I try to put anything into the + C box it spits out a ## which I imagine is invalid. when I put things into the *C / 60 boxes (That is the % ones it seems? It seems to work fine.)
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: The Damned on February 24, 2011, 10:00:38 pm
Great to hear its working, at least in ePSXe (with any luck, that won't be the one actually works on my computer; I forget which it is).

I'm not sure how much I'll just this myself, but the Cannot Enter Water example gave me an idea that I could at least use this for monsters when it comes to more useless innates....

Regardless, excellent job on this. If I wasn't already having balancing nightmares, I'd heavily consider this just because of how much it reminds me of FFV.

Quote from: pokeytax on February 24, 2011, 07:51:12 pm
Wow, excellent, who cares about my idea! Should be pretty easy to set dummy information so these display as CT 00 MP 00 skills, tweak ARH a bit so it can disable them, and get back as many slots as you could ever need, between Jump/Charge/Math/Throw/Item.


This would "just" be for passive abilities, though, right? It wouldn't fix the whole problem of not being able to use spots, right?

I mean, it would still be useful for some people, I'm sure. I just want to be sure I'm understanding this.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: pokeytax on February 24, 2011, 10:05:19 pm
Quote from: The Damned on February 24, 2011, 10:00:38 pm
This would "just" be for passive abilities, though, right? It wouldn't fix the whole problem of not being able to use spots, right?


Pretty much. It's not so much a solution as "well, this beats having thirteen different ranges for Jump."

I'll make sure there's no issue with that tomorrow LD. In general, though, don't worry too much about bug reports; I'm concentrating on that pSX issue first and the code and spreadsheet are not in final form.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: DaveSW on February 24, 2011, 10:15:54 pm
Ok, this looks absolutely amazing!

Just to make sure, using this would allow me to say, set it so that if I equipped  Reis' Dragon skillset, it would be possible that Jump would be made available too? (Because jump would now count as a support command, like Defend)

In essence, using a work around to make it so that one job could grant access to 2 commands?

Also, any way to set so that all skills in a given command are always usable, and never need to be learned?
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: LastingDawn on February 24, 2011, 10:26:15 pm
Alright Pokeytax. Things appear to be looking pretty good so far, how goes fixing the PSXfin bug anyhow? Have you pinpointed the issue?
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: RavenOfRazgriz on February 24, 2011, 10:52:08 pm
That's right, I can use this to create my Skillset Supports with relative ease.

I'll still need a bit of assembly code for a few niche features but this saves much effort.  I've found I'm going to be using this almost exclusively for Support Abilities, wow...

Hopefully you get those pSXfin bugs squared away soon!  Then it's just double Supports and I'm a mostly happy camper.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: Vanya on February 25, 2011, 06:15:55 am
Quote from: LastingDawn on February 24, 2011, 09:36:19 pm
If you set +50 HP as an unattainable skill through ARH (Requires a Two Handed Weapon and a Shield for instance...) then that skill should be Sealed and never seen by the player when they look through their battle commands.


I was under the impression that it only greyed out the ability, not that it prevented it from appearing in the menu.

@pokeytax: I was wondering what happens if I take a support ability and use FFTPatcher to set it's ability ID to an ability that does nothing like silent walk? Will other abilities that reference it still give the effect it originally had or will it use the empty one instead?
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: pokeytax on February 25, 2011, 07:25:07 am
Quote from: DaveSW on February 24, 2011, 10:15:54 pm
Just to make sure, using this would allow me to say, set it so that if I equipped  Reis' Dragon skillset, it would be possible that Jump would be made available too? (Because jump would now count as a support command, like Defend)


If you altered Defend to Jump yourself and had Talk Skill add the old "Defend", yes. Jump isn't a support yet, although I'm working on solving that. Also, specials are currently all or nothing - you can't presently grant Reis Jump when she equips Dragon, but not Ramza Jump when he equips Guts, although ARHing it might work.

All skills knowable is outside the scope, I dunno how that part works.

Vanya: I don't know. If you changed Two Swords's ID to Silent Walk, my intuition is that:

equipping Two Swords does nothing
innate Two Swords does ?????
ALMA Two Swords gives Two Swords

but who knows.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: Vanya on February 25, 2011, 10:34:36 am
I'll have to give it a try.
Title: Re: ALMA 1.e: Ability-Attached Ability Attributes (new: passives!)
Post by: LastingDawn on February 25, 2011, 11:15:56 am
Quote from: Vanya on February 25, 2011, 06:15:55 am
I was under the impression that it only greyed out the ability, not that it prevented it from appearing in the menu.

@pokeytax: I was wondering what happens if I take a support ability and use FFTPatcher to set it's ability ID to an ability that does nothing like silent walk? Will other abilities that reference it still give the effect it originally had or will it use the empty one instead?


As memory serves right it works like the Materia Blade, if you don't have the right item, the skills simply won't appear. I'll check this later on in the day.

As for other problems though...

I tried to put Attribute 50 on the Dagger, which is only supposed to give me -20% HP and Jump 3from Attributes 2 but... When I test it... things get a bit wonky, for lack of a better term. My hp goes up x4.5 (even though it's supposed to go Down 20%, if I have this right), my MP increases by x4.5... so I guess that would be +450% as well, it appears that my PA and MA also follow that same trend.

x4.5 is a very strange number, at first I thought it was the game reading out of bounds and just applying numbers that shouldn't have been considered as parts of that, but the game normally never considers these things in percentages but have solid values.

So it is clearly reading ALMA, just seemingly not in the correct way it should. I'll see if this only applies to negative values.
Title: Re: ALMA 2: Ability-Linked Meta-Attributes
Post by: pokeytax on February 25, 2011, 05:57:01 pm
A stable version 2 is up. This one should be right, so report any bugs. I'll go over it more rigorously later, but at this point, I don't care if it sets your computer on fire as long as it runs in pSXfin.

To-do:
- tack on a "caboose" to ALMA that lets you piggyback your own ASM before or afterward
- tweak the ARH to set Requires: Crystal for Jump/Math/Supports/whatever, so these slots can do double duty as passives within a job's skillset
- continue disabling R/S/M so it can be used for better purposes (e.g. Gained JP Up)
- merge movement and support
- fiddle with enabling skillsets via supports or ALMA
- forget how bad debugging is in order to facilitate coding above

Quote from: The DamnedI'm not sure how much I'll just this myself, but the Cannot Enter Water example gave me an idea that I could at least use this for monsters when it comes to more useless innates....


Yeah, all the crazy lolpatch bait was fun to throw in, but really ALMA is most useful as a repair tool for the terrible supports and movements. Some things are just worthless as-is.
Title: Re: ALMA 2: Ability-Linked Meta-Attributes
Post by: RavenOfRazgriz on February 25, 2011, 11:40:56 pm
If you fill that To-Do List out I think you have success with ALMA.  Honestly, until very recently I've had a very hard time justifying ALMA's existence outside of using its giant monstrosity-ness to do very minor things like change a couple Supports and edit a few weapons.  If you fill that To-Do List out I can basically use it for the majority of my Support Commands and I'm assuming many others could too, so it'd actually be a pretty worthwhile tool.  The innate Supports on weapons is a bonus that lets me save editing a Status slot, but still, that just falls under editing a few weapons even if it's editing them in far more meaningful ways.

Tl;dr: Gogogogogogo.  I'd not worry about the ARH bit until far later, it's honestly minor since a little of critical thinking lets you simulate what that'd do anyway.  4 and 5 are imo the best two to do first, since disabling R/S/M is really only needed in some cases.  Others like Secret Hunt, Monster Skill, Monster Talk, etc. can easily be made to have no "effect" with a different kind of minor switch so this is only needed for overwriting Gained XX UPs and Move/Jump +Xs, imo.
Title: Re: ALMA 2: Ability-Linked Meta-Attributes
Post by: DaveSW on February 26, 2011, 12:14:40 am
Woah, wait a second, hard time justifying ALMA's existence? If I'm not mistaken, with ALMA I could:
1. Make heavy armor have a 'weight' by lowering speed
2. Give Dragoons a real skill set that when equipped, also gives that unit Jump
3. Make a weapon that drains HP, and has Innate: Poison
4. Make mastering a class worthwhile by giving a stat boost to that character for getting to job level 8
5. A robe that lets you walk on water (Robes of Ajora, anyone?)

To be clear, all of the above examples are possible, yes?
This seems like the single biggest thing to happen to FFH since the FFT Patcher, and it is awesome.
Title: Re: ALMA 2: Ability-Linked Meta-Attributes
Post by: RavenOfRazgriz on February 26, 2011, 12:28:35 am
FDC has a far smaller hack that does 1.

It can't do 2 currently.  That's on his To-Do List if you read, and is the one thing that I said would make ALMA justified greatly.

You can do 3 in FFTPatcher already by setting a weapon to use Formula 06 (or 07?) and to have Always: Poison as an Item Attribute.

Doing 4 makes the huge schism between player and AI even larger, so it's really only useful in a patch that heavily strays from standard FFT gameplay or if you don't care about actually difficulty or use 1.3 styled bosses where they're just godmode at baseline.

Doing 5 was his most recent addition, and one I noted as being better but still not super-huge given the size of ALMA itself in pure code.

It's not quite the single biggest thing, either.  FDC's working on an equally large hack that is arguably larger in scale when completed, though when both are 100% done I intend to abuse the hell out of both anyway.
Title: Re: ALMA 2: Ability-Linked Meta-Attributes
Post by: pokeytax on February 26, 2011, 10:16:38 am
Haha, you think this is RavenOfRazgriz being critical?
Title: Re: ALMA 2: Ability-Linked Meta-Attributes
Post by: RavenOfRazgriz on February 26, 2011, 04:36:49 pm
Quote from: pokeytax on February 26, 2011, 10:16:38 am
Haha, you think this is RavenOfRazgriz being critical?


At least you know.  Now I'm curious if this is gleaned from my posts in other threads or if FDC's told you...

Though really, I'm mostly just saying that this is getting close to being useful as a general-purpose tool.  Before, the majority of its uses were... abstract, or good for a few niche Support Ability fixes.  Now it's finally hitting the point where it can be put to a good deal of work in the hands of someone who doesn't want to turn FFT mechanics on their head with Job Level based bonuses and other crazy things, which to me is what's really needed to help justify it for a general user.
Title: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on March 16, 2011, 06:19:12 pm
New update that implements disables for all Movement abilities, plus Gained JP-Up and Gained EXP-Up. Some of them are still shaky and I have yet to even test it, so it's buggy and/or nonfunctional, but it's close enough I'll toss it out and update it later. (EDIT: Made a dumb fix to the Equip X tab.)

It's also got some miscellaneous stuff like easyedit Equip X abilities per philsov's notes and the Inherent Support fix I did yesterday, as well as the skillset hack to let you change the Act menu. Feel free to ask questions if it's confusing, as that probably indicates something's broken or needs to be streamlined!
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: RavenOfRazgriz on March 17, 2011, 02:31:36 am
The easyedit features are nice to have, saves a lot of work juggling things around.

The disables are optional, I assume?  I'm also guessing other Supports like Secret Hunt and Maintenance are just being annoying currently.  It's good to see a lot of progress on the disabling has been made already, though.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on March 17, 2011, 06:13:04 pm
Quote from: RavenOfRazgriz on March 17, 2011, 02:31:36 am
The disables are optional, I assume?


Yeah, of course. I've been sitting back on the other supports because I was going to wait until FDC finished up and survey the wreckage, but honestly every tool should work with vanilla so...
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Tea on April 07, 2011, 02:53:13 pm
On the equip X tab, why does the default not make any sense to me? Equip armour has [3;helmet, armour, perfume]. Why perfume is checked, I don't know. Equip shield has [3;shield, perfume]. Now even the value "3" makes no sense to me. Also, harps are checked everywhere. What exactly is the meaning of this?

Also, another question, about something which I didn't get, then thought I did, then decided I did not: These boxes, what do they do?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on April 07, 2011, 06:29:28 pm
It's just leftover testing. The harps and perfumes should be removed. The "3" is the scheme, which determines which two of the four equipment buckets this ability affects.

Those boxes are the on/off switch for the passive attributes. According to the screenshot above:

- attributes attached to ARSM abilities are enabled when their job is active.
- attributes attached to job level are enabled when that secondary is equipped.
- attributes attached to mastery of jobs are enabled when the character is a Squire, Mime, or Base Class special character (e.g. Engineer Mustadio)

Please ask more questions if it's still confusing! There's discussion on the last page as well.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Tea on April 08, 2011, 04:59:27 am
So on line 27, there are four "freelancer" slots, and a check to decide whether specials count as squires.
And on Line 25, "everything", does it mean that attached attributes are always active (Dancer S1 with attribute PA+1 learned means permanent PA+1 boost, regardless of job, secondary, and equipped SRM), or that they are active on secondary+active job+these jobs?

Thanks for the help!
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on April 08, 2011, 05:28:51 pm
Quote from: Tea on April 08, 2011, 04:59:27 am
And on Line 25, "everything", does it mean that attached attributes are always active (Dancer S1 with attribute PA+1 learned means permanent PA+1 boost, regardless of job, secondary, and equipped SRM)


Yes. (If you want secondary+active+freelancer, just set all three of those to "Yes".)
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Lothgoradin on April 15, 2011, 05:32:11 pm
I know y'all don't like hearing more requests but I figured this one should be fairly easy...can you add additional formulae to weapons?  This would allow such things as daggers that mug or a sword with 100% status effect.  I don't know how well this would work in game either but maybe it's worth looking into?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Pride on April 15, 2011, 06:59:11 pm
Its completely possible to construct a formula that is intended for a separate weapon, I'm currently taking request in my thread for formulas. 
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on April 15, 2011, 07:21:46 pm
Quote from: Lothgoradin on April 15, 2011, 05:32:11 pm
I know y'all don't like hearing more requests


No, requests are great! They just belong in Pride's thread for formulas, or the Total Request ASM thread for general stuff.

FDC is working on a hack that will vastly expand formulas too, which is the reason I am staying away from them for now.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: formerdeathcorps on April 16, 2011, 03:24:00 am
Quote from: Lothgoradin on April 15, 2011, 05:32:11 pm
I know y'all don't like hearing more requests but I figured this one should be fairly easy...can you add additional formulae to weapons?  This would allow such things as daggers that mug or a sword with 100% status effect.  I don't know how well this would work in game either but maybe it's worth looking into?


You can already kinda make both in FFTP.
If you want a dagger that mugs, change the formula of the dagger to 02 and have it reference steal gil as the skill.  (If you want it just to mug, change WP to 1 and do the same...it's hardly any different than what the ASM'd result would be.)  A sword with a 100% status effect is simply a sword that uses formula 2D (if it does damage) or the 100% status formula (if it doesn't deal damage).  Of course, FFTP isn't perfect; such a sword will not have reference charge (but that's easy to ASM in) and such a dagger can't mug at 100% (unless you want all spell procs at 100% but we already have ASM for that), but those are relatively minor, I'd think.

As for my formula thread...it's http://ffhacktics.com/smf/index.php?topic=6538.60.

Title: Re: ALMA 3: All abilities now focus on water movement
Post by: RavenOfRazgriz on April 23, 2011, 01:12:06 pm
Can I ask what the "couple ugly bugs" of 3.1 were?  I'm going to assume they're not things like making Attack not be a whore like I think they are, though I think from my talks with formerdeathcorps recently he found the part of the AI that needs to be fixed to make that kind of stuff work.  I think I also saw it posted on the forum somewhere, in his BATTLE.BIN thread maybe?  Don't know if you intend to take a crack at fixing that bit of the AI though.

Have you considered trying to rewrite the Equip X functions so that they each one can handle any combination instead of the two-table system that currently exists?  secondadvent was at least working on that at some point if he hasn't finished it (pretty sure he hasn't), so you could try finding him and bugging him for his incomplete work to finish.  It's a small thing sure since you can technically use ALMA-rigging for the same effect, but a proper fix lets you do it while having more Support Abilities left over for other things, and it's more intuitive than telling someone to use an ALMA nest.  It'd also make a nice separate release for people who aren't really in need of ALMA but want to make currently-impossible Equip X combinations, which is always good.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on April 23, 2011, 02:09:12 pm
I think it was something like all movement abilities being enabled or disabled. You can't expect me to know what's going on with my own code! It was certainly nothing interesting with skillsets, sorry.

Rewriting Equip X is very low priority because it's doable via ALMA right now. But! Since I finally know where the equip bytes are in unit data, hopefully ALMA 4's scripting will let you do this easily. (Yeah, for my own purposes if nothing else, I do have to make another release, extending passives to non-standard classes like the RAD hack's, so I'll be cleaning up other garbage.)
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: RavenOfRazgriz on April 23, 2011, 09:44:42 pm
I see.

I figured it was low-priority, but it would be something you could do to say "Hey, I'm updating!" while you stare at the AI with a blank look on your face wondering how to make it handle having 5 skillsets at once.  Good to know you'll be adding RAD support and cleaning up other errors at least, though.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: LastingDawn on May 11, 2011, 11:20:34 pm
I've been reading your findings in Formula Hacking and some of them are really strange, but great work! How did you find some of this stuff out? For instance that 0xAA Identity.

That 0xAA Identity has me scratching my head... the Jobs technically stop at 9F and 0xAA should be the start of the glitch jobs. Do you know anymore about this 0xAA dealing?

Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 12, 2011, 06:22:32 pm
Quote from: LastingDawn on May 11, 2011, 11:20:34 pm
That 0xAA Identity has me scratching my head... the Jobs technically stop at 9F and 0xAA should be the start of the glitch jobs.


Sorry, that could be a lot clearer (I just changed it to XX). I just mean that if the character is a special and not a generic or monster, this is the job number corresponding to their base job instead of 80/81/82.

I've been filling it in from the old Gameshark FAQ and whatever turned up while hacking. Someone with actual formula hacking experience might be able to flesh out the temp bytes at the end; they seem to be used mostly in formulas.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: formerdeathcorps on May 13, 2011, 06:28:20 pm
Quote from: pokeytax on May 12, 2011, 06:22:32 pm
I've been filling it in from the old Gameshark FAQ and whatever turned up while hacking. Someone with actual formula hacking experience might be able to flesh out the temp bytes at the end; they seem to be used mostly in formulas.


Can you post exactly what you mean by "temp bytes"?  I can probably figure it out if I see what you're referring to.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 13, 2011, 07:20:39 pm
http://www.ffhacktics.com/wiki/Formula_Hacking, very bottom.

AFAIK these are the bytes written to while damage, healing, etc. are calculated; the address stored at 192d90 (192d98 maybe?). Don't throw your back out, this is solely for future reference, but I'm guessing you know more than I do (all I gleaned was statuses while fiddling with Poisoned swamp).
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: LastingDawn on May 17, 2011, 03:30:40 pm
Hmm, I've been using this to try out a few experiments but it seems that the Skillsets are still extremely finicky if not completely game stopping, whenever I change those and give them certain parameters they don't appear to work, for instance the Charge skillset requires Ranged Specialty to be equipped, it's just automatically there no matter what's done. In addition if you mess with it extensively it will freeze the game when you go to take a turn in battle.

As for everything else, it seems to work well, oh just one little suggestion, the Mulitiplier's of an attribute don't appear in the Attribute Summary (which I must say is invaluable when dealing with the percentages) is it possible to put those in and see the effect of how much it is increasing?

Also do the Multiplier's work like the other percentages? That they don't effectively stack?

Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 17, 2011, 06:23:32 pm
Do you have an .xls/.xml/screenshot of the spreadsheet showing your inputs? I'm guessing you have one already so that would help a lot (although it's probably some massive structural issue).

I will definitely add multipliers to the summary, thanks for the catch.

The multipliers, IN THEORY, should apply a minimum XAM. So if your class HPM is 100 and you have a HPM 120 and HPM 135 equipped, your HPM will be 135; if your class HPM is 140, your HPM will be 140. So you can stack, but only the highest applies.

The % boosts should stack multiplicatively but are currently rounded down at each step, so stacking several 5% items will not get you anywhere (unless it's HP/MP or something).
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: LastingDawn on May 17, 2011, 07:15:44 pm
Quote from: pokeytax on May 17, 2011, 06:23:32 pm
Do you have an .xls/.xml/screenshot of the spreadsheet showing your inputs? I'm guessing you have one already so that would help a lot (although it's probably some massive structural issue).

I will definitely add multipliers to the summary, thanks for the catch.

The multipliers, IN THEORY, should apply a minimum XAM. So if your class HPM is 100 and you have a HPM 120 and HPM 135 equipped, your HPM will be 135; if your class HPM is 140, your HPM will be 140. So you can stack, but only the highest applies.

The % boosts should stack multiplicatively but are currently rounded down at each step, so stacking several 5% items will not get you anywhere (unless it's HP/MP or something).


Ah? So they won't increase it by 5/10/15/20%?True 5% PA doesn't seem like it would be that great, but at 10 PA base and a 10% bonus from two 5% that would be one more PA, if I'm not mistaken. Maybe I'm not quite understanding what you're saying?

Unfortunately I no longer do. All I had done to reverse the problem was copy and paste a clean skillset box into the current one and that fixed the problems once I repatched everything, but I'll see what I can do in replicating this...

Successfully replicated, this is what is there...

(http://img5.imageshack.us/img5/6214/almaskillsettroubles.jpg) (http://imageshack.us/photo/my-images/5/almaskillsettroubles.jpg/)

Crashes the game when a move is going to be made.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: formerdeathcorps on May 17, 2011, 07:27:53 pm
Quote from: pokeytax on May 13, 2011, 07:20:39 pm
http://www.ffhacktics.com/wiki/Formula_Hacking, very bottom.

AFAIK these are the bytes written to while damage, healing, etc. are calculated; the address stored at 192d90 (192d98 maybe?). Don't throw your back out, this is solely for future reference, but I'm guessing you know more than I do (all I gleaned was statuses while fiddling with Poisoned swamp).



Yeah, I've figured out most of the section (expanding on SA's work).  I figured I might as well type it up now since right now, my connection is very bad (read: no iRC) on my work laptop (read: FFTP, C# tools, movie/sound recorder, but no games or emulators).

0x18C (Hit/Miss--01 is hit/00 is miss)
0x18D (Critical Hit--01 is crit/00 is regular)
0x18E (Miss Type--00 is hit/01 is guarded/02 is guarded [some other kind]/05 is nullified/06 is miss/07 is Catch)
0x18F (Item Lost--Potions/Break/Steal/Draw Out)
0x190-1 (HP Damage Halfword)
0x192-3 (HP Healing Halfword)
0x194-5 (MP Damage Halfword)
0x196-7 (MP Healing Halfword)
0x198-9 (Gil Stolen/Lost Signed Halfword)
0x19A-B (Reaction ID Halfword)
0x19C-D (Special Effect Halfword--for steal/murbol/Level UP/Level DOWN/Break/Elemental Null/Absorb/Weakness/Switch Team/Golem)
0x19E (SP Change Byte)
0x19F (CT Change Byte)
0x1A0 (PA Change Byte)
0x1A1 (MA Change Byte)
0x1A2 (Br Change Byte)
0x1A3 (Fa Change Byte)
0x1A4 (Status Change?)
0x1A5 (Equipment Destroyed Slot--FE means triggers weapon attack by default)
0x1A6 (???)
0x1A7-B (Attack Status Infliction)
0x1AC-1B0 (Attack Status Removal)
0x1B1 (Attack Type--HP/MP Damage/Healing or Status/Stats and Pseudo-Status)
0x1B2-3 (Last Received Attack [for Counter Magic] or weapon [for Catch] Halfword)
0x1B4 (EXP Change from Steal EXP)
0x1B5 (???)
0x1B6 (Attack Accuracy)
0x1B7 (???)
0x1B8 (???)
0x1B9 (???)
0x1BA (Copy of 0x0006--used in invite)
0x1BB-F (Inflicted Statii--factors in Random/Separate/All or Nothing/Immunities/Accuracy)

I know there's one halfword I haven't accounted for, the remaining HP on Golem (halfword since a Lucavi can use it and gain up to 65535 extra HP to buffer him).  Maybe it's stored somewhere in 0x1B7-9?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 17, 2011, 07:32:48 pm
Thanks for that, I'm working on it now.

Quote from: LastingDawn on May 17, 2011, 07:15:44 pm
Ah? So they won't increase it by 5/10/15/20%?True 5% PA doesn't seem like it would be that great, but at 10 PA base and a 10% bonus from two 5% that would be one more PA, if I'm not mistaken. Maybe I'm not quite understanding what you're saying?


If you have 20 PA and add three +5% boosts you get 23 PA.
If you have 10 PA and add three +5% boosts you get nothing.
I'm just describing the kludgy way it works now - in a future update I plan to change to true multiplicative stacking, I agree that would be much better!

Quote from: formerdeathcorps on May 17, 2011, 07:27:53 pm


Wow that is great, 12% of the unit data filled in one stroke. Looks like 85% coverage or so now.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: LastingDawn on May 17, 2011, 08:27:36 pm
Oh yes, I did have one more question. Say I have a skill which when learned gives me +50 HP available in the Squire's skillset. Can an enemy unit learn this as well and get the +50 HP bonus? Also are these bonuses beyond the Multipliers? So say I'm using a Wizard who has saved up a lot of JP in nearly every class and I pick up all of the "HP+" Abilities available to me. Would my HP jump from let's say.... 250 to 500? Or would it look at the HP Multiplier and see that it should be mitigated slightly?

And another question, when I would class change from the 500 HP scenario, would it still  look beyond the scope of the HP Mulitiplier?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 17, 2011, 09:32:33 pm
Yes, everything applies to enemies (including specials, if you checked that box).

The order is: granted R/S/M => HPM => + HP => % HP.

So if you have HP of 200 based on class HPM of 100, and learn Toughness, giving minimum HPM 110, HP + 40, HP + 20%:

HPM is applied, increasing HP to 220.
HP + 40 is applied, increasing HP to 260.
HP + 20% is applied, increasing HP to 312.

When you change jobs everything is recalculated from the ground up. ALMA takes effect after equipment.

If you want Wizards to gain less HP from passives than Knights, you can grant them innate -20% HP and then bump up the class HPM to compensate. However, this will reduce HP gain from armor as well. Using HP +25% instead of HP +50 could work once the rounding issue is fixed. I'll think about customizing the order; I had to pick one to start but I understand everyone wants their own algorithm.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: LastingDawn on May 17, 2011, 10:10:14 pm
All right. This all makes a lot greater deal of sense to me. Thank you for answering all of these questions, if I have any more I'll be sure to post. Can't wait to see the next version of your tools! Keep up the absolutely fantastic work!
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 18, 2011, 06:53:14 pm
Okay, I patched up the leak. See if this works. Thanks for finding the bug!
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: MysticKnightFF5 on May 18, 2011, 08:06:38 pm
I could see us adding many stat boosting support skills using this.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: LastingDawn on May 18, 2011, 08:28:23 pm
Appears to work great now! Thanks Pokeytax for a speedy resolution!
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Dome on May 19, 2011, 02:35:23 am
Awesome tool!
Any chance for this to be turned into an .exe?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Celdia on May 20, 2011, 01:47:41 am
Well, its official. I will be using ALMA for CCP. Thank you for a wonderful tool.  ^_^
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: RavenOfRazgriz on May 27, 2011, 09:39:47 am
Have you been able to make any progress on making this display values properly?

I've been wanting to use ALMA to add HP/MP values to my Weapons/Shields/etc. but I don't feel okay doing so if the display doesn't work.  I know it's one of those nitpicky things that doesn't matter for functionality, but it matters hugely for presentation of whatever uses it, and I'm not the kind of person who is willing to let shoddy presentations slide on anything that's not an Alpha/Beta release.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 27, 2011, 06:10:55 pm
Quote from: RavenOfRazgriz on May 27, 2011, 09:39:47 amI know it's one of those nitpicky things that doesn't matter for functionality, but it matters hugely for presentation of whatever uses it


No, I quite agree. I doubt I could bring myself to modify normally previewable stuff in ALMA until it's fixed either.

ALMA 4 with previews/better passives/ALMAscript is on the list, right behind fixing RAD to simply and properly display sprites. I've just done minimal hacking lately.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: RavenOfRazgriz on May 27, 2011, 06:33:12 pm
That's good to hear then. I'll be working on using the functionality on some level then if it's something you'll definitely be fixing.

Not rushing, just making sure it was something you intended to resolve at some point.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Pickle Girl Fanboy on May 31, 2011, 06:10:31 pm
Will the battle.bin reprogramming project incorporate ALMA's functionality?  What about the ARH?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 31, 2011, 06:40:03 pm
ALMA "lives" in SCUS so it's unlikely, although it might make parts of ALMA redundant. I will try to make sure ALMA has a toggle to play nice with both vanilla and anything FDC does.

ALMA 3 will need a slightly upgraded ARH to be worth the effort so I will probably stitch that into the spreadsheet. If no one else updates the ARH to work with any major BATTLE.BIN recompilations, I will, since it's quite fundamental.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Pickle Girl Fanboy on May 31, 2011, 06:58:23 pm
No, I mean will the battle.bin project include, say, more item attributes, and other aspects of the in-depth hacks?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: RandMuadDib on May 31, 2011, 07:04:53 pm
i was under the impression that the battle.bin project was mostly about modifying formulas and in-combat things like knockback and status?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: RavenOfRazgriz on May 31, 2011, 07:08:29 pm
Quote from: Pickle Girl Fanboy on May 31, 2011, 06:58:23 pm
No, I mean will the battle.bin project include, say, more item attributes, and other aspects of the in-depth hacks?


It mostly covers formula, Reactions, Reaction Triggers, and some Support Ability coding stuff.  There won't be much in the way of direct overlap I think.  We may end up overlapping with Pride's Spell Proc hack if we can't think of anything better to do with a bit of space we have sitting around currently, but that's about 50/50 I'd estimate.

I don't think anything about it will make it incompatible with standard ALMA or ARH, though.  It actually forces to use ARH because it removes the Requires Sword and Requires Materia Blade flags for more useful features like toggled Recoil.

Quote from: RandMuadDib on May 31, 2011, 07:04:53 pm
i was under the impression that the battle.bin project was mostly about modifying formulas and in-combat things like knockback and status?


You are correct.  Knockback / Status / Formula / Reactions, etc.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Pickle Girl Fanboy on May 31, 2011, 07:38:51 pm
I'm getting off topic, but what are the chances that you'll find something new as you go along, and then you'll have to go back and rewrite something?  Or is it always like that?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on May 31, 2011, 08:53:56 pm
Quote from: Pickle Girl Fanboy on May 31, 2011, 07:38:51 pm
I'm getting off topic, but what are the chances that you'll find something new as you go along, and then you'll have to go back and rewrite something?


100% (there's always something more)

RAD and ALMA will be rewritten as necessary to fit the needs of the BATTLE.BIN project (modest, because they don't really touch BATTLE.BIN much by design). They are meant to complement that project by providing a robust character customization system. It would be heresy not to use both.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: formerdeathcorps on June 01, 2011, 02:24:18 am
Quote from: Pickle Girl Fanboy on May 31, 2011, 07:38:51 pm
I'm getting off topic, but what are the chances that you'll find something new as you go along, and then you'll have to go back and rewrite something?  Or is it always like that?


From personal experience, that happens virtually every month after the 2nd on my formula hack.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Pickle Girl Fanboy on June 01, 2011, 12:17:08 pm
How old are you guys?  Will being a master of assembly language help you get a job later in life?  Do you have portions of battle.bin nearly memorized, so much so that you rewrite the oldest portions fastest?

If I haven't said it before; thank you.

An observation: Dragon Heart activates even if blocked by shield.  Either it activates upon attempted HP damage or the shield block routine is buggy.

And how much of a pain are these requests?
1. Counter-Mimic.  Counter HP damage (or attempted HP damage) with the last allied or allied guest action.
2. Retribution.  Counter HP damage (or attempted HP damage) with same action.  Basically, add another counter-magic magic flag that can be attached to a reaction slot.
3. An additional Silence flag, which can be attached to another status effect, to allow both silence and addle/palsy.

http://bsfree.shadowflareindustries.com/?s=1&d=8&g=9446
I was looking at those egg hatching codes.  Pokeytax, do these codes have anything not covered in the character data block?
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: RavenOfRazgriz on June 01, 2011, 02:16:51 pm
Dragonheart / Dragon Spirit activates using the Countergraspable flag, which is why it can activate when damage is blocked.

As for things requiring new flags - I know FDC has them written down somewhere, but I'm unsure how many unused flags the Formula Hack has for those kinds of things.  (You're limited by the boxes in FFTPatcher, you can't make them out of thin air, just hotwire stuff the way your ghetto friend does when he jacks cars.)  In addition, for them to work with Reactions/Charge/Throw/Supports/etc, they need to be in the top or side flag boxes, most of which are already claimed as far as I remember to allow for things like customizable Reaction triggers later, allowing Silence Flag to suppress R/S/M potentially, etc.  I'll bug FDC and see if there's room for anything like that, though I doubt we'll know for sure until he has a usable release out because stuff's getting constantly reorganized.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: Pickle Girl Fanboy on June 01, 2011, 02:48:58 pm
Okay, I'm done bothering you guys.  Thanks for being a good sport and all.
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on June 01, 2011, 05:47:12 pm
Quote from: Pickle Girl Fanboy on June 01, 2011, 12:17:08 pm
I was looking at those egg hatching codes.  Pokeytax, do these codes have anything not covered in the character data block?


These modify the lower half of the gender byte in the SCUS unit data (which is currently unknown AFAIK). This might be where egg hatching status is stored. To be honest it's not a high-interest area. I looked this up in the Gameshark Handbook (http://www.m-l.org/~greerga/fftnet/fftmech/fftgs41.txt) (Part One).
Title: Re: ALMA 3: All abilities now focus on water movement
Post by: pokeytax on June 14, 2011, 06:07:28 pm
Okay, RAD is at a good stopping place now, so I'm moving back to this.

ALMA 3 in the original post now has limited previewability: for items only, constant HP/MP/PA/MA/SP/MOV/JMP bonuses and penalties will show up. Of course I'm going to work on the crazy multiplier stuff and R/S/M preview later, but at least you can put HP on a shield now without wincing.
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 15, 2011, 04:35:44 pm
Nice, I'm assuming that figuring this out means figuring out the rest won't be impossible.

Also, could you make it possible for ALMA Attributes and related stuff to modify Brave and Faith as well?  I'm looking and don't see any options for it despite it being a far more obvious choice than some of the stuff there.  Not a huge deal, but it would open up more possibilities for equipment, which is always good.

E: Have you tested your Extra Slot skillsets with the AI having a Primary, Secondary, Extra 1, and Extra 2 skillset that each only had 1 skill in it?  I remember FDC finding that the AI can only "remember" 34 skills, including the Attack Command, so I'm wondering if your Extra Slot testings only counting the first skillset are due to them breaking the 34 skill limit.  If they only have 4 skills that are incredibly distinct (Say, Dash in Primary, Potion in Secondary, Fire in Extra Skillset 1, and Phoenix Down in Extra Skillset 2), you can easily test to see if it can use all of them.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 15, 2011, 09:03:19 pm
Quote from: RavenOfRazgriz on June 15, 2011, 04:35:44 pm
Also, could you make it possible for ALMA Attributes and related stuff to modify Brave and Faith as well?  I'm looking and don't see any options for it despite it being a far more obvious choice than some of the stuff there.


It is an obvious choice, just somewhat tricky. HP/MP/SP/PA/MA are "constructed stats": they are rebuilt from raw stats, which are safely stored away. So changing HP in ALMA doesn't change the unit's "true" HP. R/S/M and statuses are likewise rebuilt from your current job and equipped abilities and items.

Brave and Faith, though, are persistent numbers, like your zodiac and level and name. Change them and they stay changed. If ALMA says "HP = HP + 5" then it works fine, but if ALMA says "Brave = Brave + 5" then you will quickly have 100 Brave after a few cycles. Disabling permanent Brave/Faith loss/gain in battle and manually rebuilding Brave/Faith every time still presents problems; anything else affecting Brave (e.g. Threaten) will wear off when ALMA triggers. So at the least, you need to consider disabling any other form of Brave/Faith modification, which is a bummer.

That said I'm trying to work around that somehow because it would be neat!

Quote
E: Have you tested your Extra Slot skillsets with the AI having a Primary, Secondary, Extra 1, and Extra 2 skillset that each only had 1 skill in it?


My hack isn't even trying to plug in Extra 2, my understanding of that section of the code isn't that good. It's just Xifanie's A9 hack with a coat of paint. I truly hate not supplying functionality someone actually wants for a real live patch, but I banged my head against this for a while and got nowhere. The cost-benefit analysis says move on and try to pick four low-hanging oranges instead of one apple. I know you want an apple, and I really hate leaving it there. But four oranges, man, that's a lot of orange!
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 15, 2011, 09:29:43 pm
I didn't know that about Br.  I figured the fact "permanent" modification was only 1/4th of the actual modding meant that there was both a "CurBr" and a "TrueBr" being stored somewhere.  It sounds like the masters of wasteful coding actually made it work with only one Br/Fa instance for once... the one time we'd have liked them to waste code.  Good to hear you thought of it, though.  I'd honestly thought you'd just not thought of it.

As for Extra 2, I see.  I didn't know it wasn't even trying, I just thought you were breaking the skill cap without realizing it during your tests.  I'm sure you've thought of this before, but have you tried dissecting Defend instead?  It honestly seems like a far better place to draw from than Xifanie's A9 Hack, because using GSF I can give the AI a fully working skillset through it (and Equip Change) in all my tests so far.  Considering that works, hunting there instead of Xifanie's already jerryrigged A9 Hack seems a bit smarter, personally.  Take your time though, I honestly feel fixed previews and a couple other cleanup bits are a tad more important.

Unrelated:  Oranges suck.  Fuck oranges.
Title: Re: ALMA 3: previewability 0.1
Post by: Tea on June 16, 2011, 10:35:28 am
any type of evasion is also not as easy as it sounds?
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 16, 2011, 02:11:07 pm
I didn't even think of evasion, myself.

That's also a nice big "Why not?" if you can get it in, though with how evasion works I don't see how you wouldn't be able to.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 16, 2011, 06:38:47 pm
Quote from: RavenOfRazgriz on June 16, 2011, 02:11:07 pm
though with how evasion works I don't see how you wouldn't be able to.


How does evasion work? I guess I can probably dig through FDC's thread for myself. I was under the impression that it directly accessed your equipment and job, but I don't think that's actually based on any facts. If it reads straight from unit data then yeah that's easy (maybe I could even make Abandon display your stats correctly on the equip screen?).

Now is a good time to bring up ideas so feel free to throw stuff against the wall and see what sticks.
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 16, 2011, 09:41:34 pm
Well, the Blind hacks by both FDC and FFMaster function via giving the target unit a temporary A-EV boost during battle.  FDC's Abandon Hack works by overwriting C-EV with a new value.  Etc.

I would imagine based on these facts that Squaresoft doesn't do super hoaky things with it and you can easily modify it.  You're best looking at the breakdowns to be safe but from my limited understanding and the precedents set, editing it shouldn't be a problem.
Title: Re: ALMA 3: previewability 0.1
Post by: RandMuadDib on June 18, 2011, 03:07:57 pm
Quick question: if I took the patcher and turned all of the "throw" abilities into supports, and used alma to make them useful (half water, str fire, that sort of thing) would that work? Or would the coding in the original abilities make them yuck?
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 18, 2011, 03:40:56 pm
Quote from: RandMuadDib on June 18, 2011, 03:07:57 pm
Quick question: if I took the patcher and turned all of the "throw" abilities into supports, and used alma to make them useful (half water, str fire, that sort of thing) would that work? Or would the coding in the original abilities make them yuck?


Not at the moment (can't equip, ALMA doesn't read support slot, just RSM bytes which can only see true supports).

I'm trying to find a good use for Item/Throw/Jump/Charge/Math right now. I've been focusing on using them as passives; but what you're suggesting might be able to piggyback on some of the same code so I'll keep it in mind.

You can use the recategorize hack from the Total Request ASM thread to convert movements to supports or merge the two categories if you just want more supports. Very few movement abilities are worth saving IMO.

(EDIT: booooo code working on stepthrough but not normally again)
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 18, 2011, 05:10:16 pm
Are you coding in MIPs IV?  If you are, switch to MIPs II.  MIPs IV has a cooldown on some advanced features on the actual PSX and certain emulators / emulator configurations that results in some code failing.  (FDC estimated it being around 60/40 for success/failure, with failure more likely on more complicated routines.)  Your code is probably working like that because the stepthrough is making the cooldown factor irrelevant on an emulator setup that requires cooldown on normal play.

FDC and I were going to make a thread we'd hopefully get stickied basically saying "CODE EVERYTHING IN MIPs II BECAUSE COMPATIBILITY" and explaining the differences between MIPs II and MIPs IV but we kinda ADHD'd on it.  I may make it in a little bit, though I need FDC for the latter part.

If you *are* coding in MIPs II... fuck if I know what your problem is then.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 18, 2011, 05:38:07 pm
After the festival of pain debugging ALMA, I code as ploddingly and clearly as I can. The issue is similar to the one I got when modifying a register used by a branch delay slot but I was careful not to do that (and the native FFT code is doing that) so I dunno. I don't know anything about MIPS II and IV so that could easily be the issue.

The hack in question calls a different recategorize hack so you can keep movement/support separate on the Learn screen but still merge the slots on the Set screen. (I hate the doubling in the Learn screen that much, plus I need somewhere to put passives.)
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 20, 2011, 03:57:24 pm
I haven't gotten to talk to FDC yet, but I'll bet your problem is a MIPs II vs. MIPs IV thing.  The main difference from what I remember of the last time he and I talked is that MIPs II just has less advanced features, MIPs IV just adds easier ways of doing the same things.  You may just be using one of the shortcuts added by MIPs IV, which some emulators and a proper PSX can't handle because they're coded for MIPs II.

Also, Celdia's having issues with giving weapons access to the various Equip X commands in CCP via ALMA.  She tried making a sword that has Equip Shield and Equip Armor innate, but she couldn't make use of the effects either in battle or on the equipment menu.  Could you mayhap look into this issue and get that squared away on your road to getting to ALMA 4?

Related:

Quote15:59  Celdia: ALMA is backwards.
15:59  Celdia: It lists MP Restore before HP Restore but they're the other way around I think.
Title: Re: ALMA 3: previewability 0.1
Post by: formerdeathcorps on June 20, 2011, 04:25:48 pm
TO be clear, it's not that he's coding in MIPS IV, it's more likely that the emulator reads code as MIPS IV (or MIPS II without considering load delays) and thus allows combinations of opcodes that MIPS II (the real PSX) would not allow.

Quote(EDIT: booooo code working on stepthrough but not normally again)


This could be due to any number of problems.  Pokeytax, can you give a Pastebin link to a decompiler output to your code and/or your notes?  I'll see what I can do from there.
Title: Re: ALMA 3: previewability 0.1
Post by: Glain on June 20, 2011, 06:44:49 pm
The MIPS II vs MIPS IV stuff seems a bit out of left field to me. Actually, according to this link (http://www.linux-mips.org/wiki/Instruction_Set_Architecture), the PSX processor (R3000) is actually MIPS I and not MIPS II.

If we're worried about different versions of the same architecture, then there might be some commands in later versions of MIPS that don't exist on the PSX processor, but we tend to use a pretty specific subset of commands for most things anyhow. I'd be a bit surprised if we suddenly started using commands that don't exist on the processor. For example, if you can use my app (MassHexASM) to encode it, it should be supported by the R3000. I'm actually a bit surprised I haven't gotten any feedback on that app being unable to encode something or other (I'm not sure I got the whole R3000 command set).

The only thing that really comes to mind here that would be relevant with earlier vs. later versions of MIPS would be a load delay slot thing, but that seems too obvious...
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 20, 2011, 07:11:55 pm
Quote from: Glain on June 20, 2011, 06:44:49 pmThe only thing that really comes to mind here that would be relevant with earlier vs. later versions of MIPS would be a load delay slot thing, but that seems too obvious...


That's pretty much exactly what we're discussing, unless I've misinterpreted FDC entirely in my conversations with him.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 20, 2011, 07:23:27 pm
That's a very handsome offer, fdc, but I managed to sort things out. I was trying to use one register to determine which screen the player had pulled up, but apparently the one I used did not have a stable value in runtime; I eventually found one that did.

I'll get on those bug reports, thanks! I should note that Equip X abilities on items are probably not useful at the moment anyway (there's no logic preventing equipping Merit Award, equipping armor, removing Merit Award) and I'm planning to overhaul that functionality in ALMA 4. But it sounds like the step where Equip abilities take effect is before ALMA and they aren't working at all, which is good to know.

Glain, I had issues coding mthi/mtlo once, but those are pretty low priority.
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 20, 2011, 07:45:20 pm
Quote from: pokeytax on June 20, 2011, 07:23:27 pm(there's no logic preventing equipping Merit Award, equipping armor, removing Merit Award) and I'm planning to overhaul that functionality in ALMA 4. But it sounds like the step where Equip abilities take effect is before ALMA and they aren't working at all, which is good to know.


That's what I figured.  I assume you could just hijack the game's existing logic for handling Equip X if you can figure out where to jump but I don't code.  Forcibly calling Best Fit is a good alternative but that seems meh since I know I personally always play with that off and Equip X has secondary logic for when it's off.
Title: Re: ALMA 3: previewability 0.1
Post by: RandMuadDib on June 20, 2011, 10:45:19 pm
i didnt even know you could turn best fit off.
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 21, 2011, 02:05:08 am
And you call yourself a hacker!

You're almost as bad as the person who asked for Xifanie to make an ASM to turn off Spell Quotes!
Title: Re: ALMA 3: previewability 0.1
Post by: RandMuadDib on June 21, 2011, 02:09:48 am
hey man its not like i asked to turn off best fit. i like using it. probably why i didnt know you could turn it off, never tried. and i don't call myself a hacker, just a researcher :D
Title: Re: ALMA 3: previewability 0.1
Post by: formerdeathcorps on June 21, 2011, 06:15:53 am
Quote from: RandMuadDib on June 21, 2011, 02:09:48 am
hey man its not like i asked to turn off best fit. i like using it. probably why i didnt know you could turn it off, never tried. and i don't call myself a hacker, just a researcher :D


I only turned it off to delete the weapon duping glitch.  It was the easiest way to do so.
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on June 21, 2011, 06:22:49 am
Quote from: formerdeathcorps on June 21, 2011, 06:15:53 am
I only turned it off to delete the weapon duping glitch.  It was the easiest way to do so.


Wrong "off", FDC.

We're talking about turning off auto-Best Fit when your valid gear pool is changed via the game's menus.
Title: Re: ALMA 3: previewability 0.1
Post by: formerdeathcorps on June 21, 2011, 07:53:34 am
Quote from: Glain on June 20, 2011, 06:44:49 pm
The only thing that really comes to mind here that would be relevant with earlier vs. later versions of MIPS would be a load delay slot thing, but that seems too obvious...


That's precisely the problem.  Certain versions of ePSXe allow you to skip load delay.  That's the only explanation for why FFM's blind hack worked for him and Wiz, but not for Celdia or me.  If you look at FFM's code, you see he loads a value from memory into r2 and then uses it next command.
I also looked at many of Razele's codes that didn't work for certain people or nates1984's weapon hacks.  They all did this load + immediate use on register "error", implying that it must have worked on the emulator they did their testing on (ePSXe) since I highly doubt Razele or nates would do no testing of their hacks at all before submission.  This problem also affects ARH, from what I've seen of it.

QuoteGlain, I had issues coding mthi/mtlo once, but those are pretty low priority.


There's that problem with your tool, and that I can convert opcodes to bgtz/bgez/bltz/blez but not conversely.
Title: Re: ALMA 3: previewability 0.1
Post by: Xifanie on June 22, 2011, 08:24:45 am
Are you saying that normally the version of MIPS that the PSX uses needs a delay slot after loading bytes/hw/w which are ignored in like pSX because it uses a more recent version of MIPS?
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 25, 2011, 03:17:07 pm
Going to start messing with ALMA tonight. Not sure what I'm getting into. @_@
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 26, 2011, 09:33:42 am
Double post, ftl.

Anywho, can someone tell me how to disable the old Move effects? I'm trying to remove the 3 bonus Move from Move +3 to use it for something else. Also, expect a ton of questions from this guy in the future. >_>
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 26, 2011, 02:00:14 pm
Questions are good! They help other people out too.

If you zero cells H26:H31 on the 'Disables' tab, these abilities will have no effect. However, they will still show the boost in the preview. I'm addressing that as part of the general previewability upgrade, but here's a temp hack to also disable the previews for movement abilities [XX + 1] through 6 (e.g. XX = 0 disables all previews, XX = 2 disables all but Move+1/Move+2):


WORLD.BIN
0x3eb10
XX
0x3eb54
XX
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 26, 2011, 03:27:12 pm
Quote from: pokeytax on June 26, 2011, 02:00:14 pm
Questions are good! They help other people out too.

If you zero cells H26:H31 on the 'Disables' tab, these abilities will have no effect. However, they will still show the boost in the preview. I'm addressing that as part of the general previewability upgrade, but here's a temp hack to also disable the previews for movement abilities [XX + 1] through 6 (e.g. XX = 0 disables all previews, XX = 2 disables all but Move+1/Move+2):


WORLD.BIN
0x3eb10
XX
0x3eb54
XX



Now, will I also need to disable the effects of previous existing Reactions if I want to make those Supports? Like, say I want to change Abandon. Will I have to somehow clear that before I make a new skill for it not to double evasion? Or does ALMA do that automatically?

EDIT: Also, using this in combination with the ARH, is it possible to make a skill whose effect only activates on HP Critical, a la Critical: Quicken?
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 26, 2011, 03:36:47 pm
Quote from: Eternal248 on June 26, 2011, 03:27:12 pm
Will I have to somehow clear that before I make a new skill for it not to double evasion? Or does ALMA do that automatically?


Yes, you will. I'm working on that for ALMA 4 - most of the Movements, excepting some oversights and bugginess (e.g. Fly still cancels fall damage, Float is probably still weird somehow) can be disabled through ALMA 3.
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 26, 2011, 03:39:32 pm
How would I go about disabling things like Abandon, then? It's not really a big deal since I'm mostly only changing useless Supports and Movements, but I'd like to nerf Abandon in the near future and maybe just make it something else totally.
Title: Re: ALMA 3: previewability 0.1
Post by: Dome on June 26, 2011, 04:28:33 pm
Question: After I've made an .Xml file, everyone can use it, or I'm the only one that can?
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 26, 2011, 04:54:25 pm
Quote from: Eternal248 on June 26, 2011, 03:39:32 pm
How would I go about disabling things like Abandon, then?


I was going to tell you to wait, but screw it (untested but should work):

BATTLE.BIN
0x11E3CC
00000000


In general though, you'll have to wait or DIY.

SOS supports have been requested but are sadly beyond the scope of ALMA, which is about modifying your stats. That doesn't mean I haven't thought about them but they probably aren't ever going to be in this hack.

Quote from: Dome
Question: After I've made an .Xml file, everyone can use it, or I'm the only one that can?


Everyone can apply any functional XML with FFTorgASM.
Title: Re: ALMA 3: previewability 0.1
Post by: Dome on June 26, 2011, 04:56:19 pm
Awesome
Pokeytax, you are a gift from the heavens for FFH
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 26, 2011, 04:57:55 pm
Quote from: pokeytax on June 26, 2011, 04:54:25 pm
I was going to tell you to wait, but screw it (untested but should work):

BATTLE.BIN
0x11E3CC
00000000


In general though, you'll have to wait or DIY.

SOS supports have been requested but are sadly beyond the scope of ALMA, which is about modifying your stats. That doesn't mean I haven't thought about them but they probably aren't ever going to be in this hack.

Everyone can apply any functional XML with FFTorgASM.


Excellent! Thanks a ton! ALMA is one of my new favorite tools! :D
Title: Re: ALMA 3: previewability 0.1
Post by: Dome on June 26, 2011, 05:52:49 pm
Ok, I messed up with ALMA a bit
Move over surfaces: Walk on water + Walk on lava + Half: Water and fire
Any ground: Any ground + Any weather + Move in water + Immune:Poison
Finger guard: Makes you immune to every status the mediator can inflict you

I made this, but when I make the .xlm, orgasm doesn't show it...

Any help?
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 26, 2011, 05:54:47 pm
Quote from: Dome on June 26, 2011, 05:52:49 pm
Any help?


Post the .xml and/or .xls you're using.
Title: Re: ALMA 3: previewability 0.1
Post by: Dome on June 26, 2011, 05:55:23 pm
I'm trying xD
Edit: Sorry for the delay, Firefox freezed
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 26, 2011, 06:20:14 pm
Do you have the Analysis Toolpak (Excel) or AddIn (OpenOffice)? ALMA uses DEC2HEX/HEX2DEC which requires these.
Title: Re: ALMA 3: previewability 0.1
Post by: Dome on June 26, 2011, 06:23:56 pm
I don't even know what they are
Where I can get them?
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 26, 2011, 06:53:33 pm
Truth is I don't even have these on my home computer.
LibreOffice is free and not quite as bloated as it was?
Or you can wait for someone who has them to process your changes for you, I will this week if no one else does.
Title: Re: ALMA 3: previewability 0.1
Post by: formerdeathcorps on June 27, 2011, 03:40:48 am
Quote from: Xifanie on June 22, 2011, 08:24:45 am
Are you saying that normally the version of MIPS that the PSX uses needs a delay slot after loading bytes/hw/w which are ignored in like pSX because it uses a more recent version of MIPS?


Yes, though the emulator that gives the most problems to this regard is actually ePSXe.
Title: Re: ALMA 3: previewability 0.1
Post by: Glain on June 27, 2011, 12:43:31 pm
More recent version of MIPS or not, I dunno. It's something to do with the way the emulators work that diverges from what the actual PSX hardware does, in certain conditions. I don't really think we can know why that is unless we actually saw the source code of the emulators... but it's not important, as we should be considering the load delay anyway.
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 27, 2011, 01:01:23 pm
Looking at the Skillsets tab now. Can you explain it to me a bit? I don't see a clear explanation for what it does in the spreadsheet.
Title: Re: ALMA 3: previewability 0.1
Post by: Pickle Girl Fanboy on June 27, 2011, 05:17:33 pm
Does anyone think I should tell the guys at gamehacking.org, qhimm, and whatnot about your findings RE mips 3000?
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 27, 2011, 05:26:57 pm
Can't hurt.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 27, 2011, 06:24:38 pm
Quote from: Eternal248 on June 27, 2011, 01:01:23 pm
Looking at the Skillsets tab now. Can you explain it to me a bit? I don't see a clear explanation for what it does in the spreadsheet.


You can replace Attack with SKILLSET or add SKILLSET to the Act menu when various stuff (mostly Supports and statuses) is active. For example, have Equip Spear grant use of JUMP or Critical change Attack to LIMIT.

Importantly the AI does not recognize Attack replacements and only accepts one added skillset. However, Defend and Equip Change still function for the AI, so altering those skillsets via GSH is an option if you need multiple added skillsets.

I intend to upgrade this in the future because having to waste a dummy support when you just want Lancers to have Jump and Dragoon commands is lame and the AI implementation is quite clumsy.
Title: Re: ALMA 3: previewability 0.1
Post by: MagiusRerecros on June 27, 2011, 07:57:30 pm
Quote from: pokeytax on June 26, 2011, 06:20:14 pm
Do you have the Analysis Toolpak (Excel) or AddIn (OpenOffice)? ALMA uses DEC2HEX/HEX2DEC which requires these.


Analysis AddIn seems to actually come standard with OpenOffice nowadays. For example, I haven't installed any extensions to OpenOffice myself, and yet I can still use the DEC2HEX function in OpenOffice Calc without do anything special.

I don't know whether or not Analysis Toolpak comes standard with Excel, because I don't have Excel. Don't have the money to spring for Microsoft Office, and it didn't come pre-installed on my laptop like it sometimes does...
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 28, 2011, 06:21:35 am
Okay, so let's say I want to make a skillset accessible to all jobs, but NOT for the AI. How would I go about doing that in ALMA? Without replacing Attack, of course.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 28, 2011, 04:07:30 pm
There should be a "Player Control" option wedged in between the Movements and the statuses. Try that. And then, uh, let me know if it works?

Also, I should make it clear that if you want player-use Defend and Equip Change you need to use two rows to manually set them. They were originally in the bottom two rows by default to make that clear, but I stupidly left some testing garbage in the most recent version, I think.
Title: Re: ALMA 3: previewability 0.1
Post by: Ryason55 on June 29, 2011, 01:25:38 am
I'm kinda having issues with this. I used this to add a new Support-based skillset, so I applied only the "Skillset" and "AI Skillset" hacks after making the neccessary changes. When I go to test this, I find:
-EVERY AI controlled character has the same primary skillset overriding their set one (I've seen "3C Mighty Sword" and what might be "2C Breath", in different battles of course)
-All (to my knowledge) human jobs (Plus 3B) innately have the new skillset
-The skillset won't show up at all for Jobs 39, 8E, and 8F, and the Item skillset is removed from their status screens during battle

Here's the set-up I used:
Extra Slot (blank Support 2) 4D
I had added "4D" myself, but the same effect also happens with an unmodified spreadsheet.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on June 29, 2011, 04:26:24 pm
Unfortunately I'm going on vacation until Tuesday so it'll have to wait, I'll take a look when I'm back. Can't believe how many gamebreaking bugs this segment has... it sounds like it's not something simple like your putting the command in the top line instead of the bottom, if it's happening in an unmodified version.

EDIT: Okay, seems to be working now for PCs. I'm a little worried about the AI side though.
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on June 30, 2011, 06:02:55 am
Enjoy your vacation. You've earned it!
Title: Re: ALMA 3: previewability 0.1
Post by: Argy on July 03, 2011, 11:09:30 am
Pokey,

Fantastic program, looks all nice and pretty (and there are some shiny parts as well). Since I am not the best at all in understanding the hex values etc, can I ask you for a massive favour? Can you give a step by step example of changing something in ALMA and the applying it to the patch? Obviously, this can be at the bottom of your to-do list! Thanking you in advance :-)
Title: Re: ALMA 3: previewability 0.1
Post by: Dome on July 05, 2011, 04:22:39 am
I tried making this
QuoteMove over surfaces: Turns walk on water in: Walk on water + Walk on lava + Half: Water and fire
Any ground: Any ground + Any weather + Move in water + Immune:Poison
Finger guard: On top of what already does, makes you immune to every bad status the mediator can inflict (Sleep - Death sentence - Berserk Don't act)

I also posted the .Xls some posts ago...but I cannot apply the hack with OrgASM when I make it
Any help?
Title: Re: ALMA 3: previewability 0.1
Post by: MysticKnightFF5 on July 05, 2011, 11:41:39 am
Actually...that would make finger guard rather awesome. And charm, include charm just because there needs to be a counter to your DPS fighter getting charmed before you can throw shit at him.
Title: Re: ALMA 3: previewability 0.1
Post by: Dome on July 05, 2011, 12:08:37 pm
Quote from: MysticKnightFF5 on July 05, 2011, 11:41:39 am
Actually...that would make finger guard rather awesome. And charm, include charm just because there needs to be a counter to your DPS fighter getting charmed before you can throw shit at him.

Charm is similar to a talk skill after all...it might be worth considering
Title: Re: ALMA 3: previewability 0.1
Post by: MysticKnightFF5 on July 05, 2011, 01:04:41 pm
<has lost most of my team over my damage dealer getting charmed>
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on July 05, 2011, 07:26:29 pm
Quote from: Argy on July 03, 2011, 11:09:30 amCan you give a step by step example of changing something in ALMA and the applying it to the patch? Obviously, this can be at the bottom of your to-do list! Thanking you in advance :-)


You will need: ALMA 3.xls, Microsoft Excel with Analysis Toolpak or LibreOffice with Analysis Add-in, FFTPatcher (FFTorgASM).

1 Change cell C4 on tab 'Items' to 50. This assigns Attribute 50 to Daggers.
2 Change cell U16 on tab 'Attributes' to 1 (or anything really). This assigns Teleport to Attribute 50.
3 Open a text editor (e.g. Notepad).
4 Copy the entire contents of the 'XML' tab to the text editor and save as 'argyalma.xml' in your FFTPatcher directory.
5 Run FFTorgASM.exe, check the box by 'ALMA: Attributes', and press 'Patch ISO...'.
6 Select the ISO you want to patch and press 'Save'. (Always keep a backup!)

This should make Daggers grant Teleport.

Please ask more questions if that's not clear enough, I know you may feel dumb but you're not and every time you ask a question a lurker gets her wings.

Quote from: Dome on July 05, 2011, 04:22:39 am
I tried making thisI also posted the .Xls some posts ago...but I cannot apply the hack with OrgASM when I make it
Any help?


You need the Analysis Add-in/Toolpak for LibreOffice/Excel. I did make an .xml file for you last week which I'll post tomorrow if I have time, but spreadsheets are the most efficient way to make a customizable hack, so joining us in the 20th century is probably the best plan in the long run.

Going to be rewriting this so don't expect the new version too soon. Adding previewability for the advanced stat modification is going to be a royal pain (rebuilding all stats from raws every time), but half the fun of equipping a Muscle Belt that adds +50% HP is seeing that number tick up in the preview screen, so I'm committed at this point. Still need to find where HP/MP previews for R/S/M live, though... if they even exist without major remodeling.
Title: Re: ALMA 3: previewability 0.1
Post by: RavenOfRazgriz on July 05, 2011, 08:15:44 pm
Random thing while you're doing that: Celdia reported that her Item that had innate: Half of MP wasn't working correctly with ALMA as well.  Any idea what's causing that?

Also, you should try to lighten up on the Macros, even if it means telling people just to not be dumb and input 01 and not 1.  I ended up redoing the Spreadsheet you made for Pride because a solid sum of people couldn't use it.  It was the Macro you were using to force the input to be 0X and not just X that was wigging it out, if you're curious.
Title: Re: ALMA 3: previewability 0.1
Post by: Argy on July 06, 2011, 08:40:35 am
Thank you Pokey!!
I will try this out tonight along with a few other things. I love that we can give items different attributes etc. Also I think in terms of event editing, I would love to have the time to tinker with the program and learn the fundamentals of it and try to create something!! It's the real world commitments (job, family etc) that take precedent in many peoples lives. Though any opportunity I get, I am working on shishi or using the patcher or now going to be playing ALMA!!

Once again thank you for your help!
Argy
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on July 06, 2011, 08:15:49 pm
Quote from: RavenOfRazgriz on July 05, 2011, 08:15:44 pm
Random thing while you're doing that: Celdia reported that her Item that had innate: Half of MP wasn't working correctly with ALMA as well.  Any idea what's causing that?


I just tacked it on a Dagger and it's working fine, although I did it by editing tables, not the spreadsheet. I'll do the whole kit and kaboodle tomorrow and see if that causes a problem - if that doesn't work, I'll have to ask for an .xml or .xls.

Dome I made you an .xml!!!
Title: Re: ALMA 3: previewability 0.1
Post by: Eternal on July 07, 2011, 10:18:09 am
Question: what does the HPM/MPM/etc. column do? I assume it has to do with multipliers, but I'm not sure.
Title: Re: ALMA 3: previewability 0.1
Post by: MysticKnightFF5 on July 07, 2011, 04:34:32 pm
...HP Multipliers...MP Multipliers....? >.>
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on July 07, 2011, 05:27:12 pm
Quote from: Eternal248 on July 07, 2011, 10:18:09 am
Question: what does the HPM/MPM/etc. column do?


It adds a minimum multiplier. If Battle Skill grants HPM 100 (i.e. by setting such an attribute to cells Y4:AB4 and cell D26 to "Yes" in the 'Passive Abilities' tab) , then a Time Mage (HPM 75) with Battle Skill secondary will have Squire-level HP, but a Monk with Battle Skill secondary will see no difference.
Title: Re: ALMA 3: previewability 0.1
Post by: Dome on July 07, 2011, 05:40:33 pm
Quote from: pokeytax on July 06, 2011, 08:15:49 pm
Dome I made you an .xml!!!

MY HERO! I LOVE U!!!!!!!!!!!!!!!
Title: Re: ALMA 3: previewability 0.1
Post by: Celdia on July 11, 2011, 09:28:24 am
Quick bug report for you, pokeytax. Just did about 2 hours of testing and came to this odd conclusion: I made an attribute of Weak/Half/Absorb: Holy and applied it to the Fly move skill. When encountering Zalera, who has innate Fly, it jacked up his MA score from about 16 to 50 (though I assume it was trying to go higher). This boost did not occur if he was not flagged for ??? stats. I'm not too worried about losing Fly on him (Teleport 2 will do just fine as a stand in ^_^ ) but I don't know if this bug will repeat itself elsewhere.

Oh, and in regards to that Half of MP problem I was having, it was user error. I had made the attribute for it but never set it to the item like I'd thought I'd done.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on July 11, 2011, 06:31:25 pm
This should be fixed now (it would have applied to everything with ??? stats and an ALMA attribute, so... yeah). Thanks for beta testing my hack - if there's anything I can hack for CCP, ALMA or otherwise, let me know, it's the most active patch so I would be happy to be of service. But if not ALMA 4 will have some new toys (and be tested more thoroughly!).
Title: Re: ALMA 3: previewability 0.1
Post by: Celdia on July 11, 2011, 11:01:00 pm
Between ALMA and ARH 1.2 you've already done more for CCP than I could quantify, pokeytax. I'll just keep making use of your awesome tools and updates. :D
Title: Re: ALMA 3: previewability 0.1
Post by: Pickle Girl Fanboy on July 12, 2011, 07:10:32 pm
What is this previewability in the topic header?
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on July 12, 2011, 07:18:44 pm
Quote from: pokeytax on June 14, 2011, 06:07:28 pm
ALMA 3 in the original post now has limited previewability: for items only, constant HP/MP/PA/MA/SP/MOV/JMP bonuses and penalties will show up. Of course I'm going to work on the crazy multiplier stuff and R/S/M preview later, but at least you can put HP on a shield now without wincing.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on July 24, 2011, 11:32:21 pm
A quiddity from today:

This code crashes pSX in runtime, but not in stepthrough:

lui r3, 0x8015
sw r4, 0xA820(r3)
sw r5, 0xA824(r3)
nop
sltiu r3, r2, 0x0050
bne r3, r0, 0x0BC4
sltiu r3, r2, 0x0079
bne r3, r0, 0x0CA0


This code works fine:

lui r3, 0x8015
sw r4, 0xA820(r3)
sw r5, 0xA824(r3)
nop
nop
nop
nop
nop
sltiu r3, r2, 0x0050
bne r3, r0, 0x0BC4
sltiu r3, r2, 0x0079
bne r3, r0, 0x0CA0


But the other code was working fine for a while. The moral of the story is, who even knows. pSX seems to behave oddly at times - the rational explanation is that something else in my code is causing an issue, but I looked it over, believe me, and that would cause issues in stepthrough too, not just runtime.

(ALMA 4 is doing okay and there should be a buggy alpha available soon.)
Title: Re: ALMA 3: previewability 0.1
Post by: RandMuadDib on July 25, 2011, 12:55:41 am
Quote from: pokeytax on July 24, 2011, 11:32:21 pm
This code crashes pSX in runtime, but not in stepthrough:
lui r3, 0x8015
sw r4, 0xA820(r3)


Isn't this one of those 'load delay' problems i've heard about? granted i know very little (okay almost nothing) about asm or mips, but that's my guess from what i've seen people talk about.

(P.S. feel free to flame the asm noob for being presumptive)
Title: Re: ALMA 3: previewability 0.1
Post by: Glain on July 25, 2011, 12:37:17 pm
Nah, the [lui] instruction doesn't actually load anything from memory (it's like the only command starting with 'load' that doesn't), so there's no load delay slot in play here.

I gotta say, that is something. I wouldn't have thought there was anything wrong with that code either... I can only throw out some half-baked theories:
1. Doing a comparison in a branch delay slot that changes one of the registers being compared in a conditional branch is somehow a problem? (lines 6 and 7)
2. Attempting to save to those memory addresses (0x8015A820, 0x8015A824) is somehow a problem? (lines 2 and 3)
3. Logic: r3 being set to (r2 < 0x79) instead of (r2 < 0x50) if the first branch is taken is somehow a problem? (unlikely as you probably already considered this)

The thing is, none of it seems likely. The huge list of [nop] fixing the problem is reallllllly bizarre. I actually think the [nop] in the original code is unnecessary (not sure why it's there).

EDIT: beq r0, r0? Don't you mean j?
Also, even though branch delay and load delay are similar, one is branching and one is memory loading, so it's probably better if we differentiate, i.e. beq/bne have a branch delay slot, not a load delay slot. But anyway.
Title: Re: ALMA 3: previewability 0.1
Post by: formerdeathcorps on July 26, 2011, 06:15:26 am
Pokeytax, at what offset did you put your test code?  At what offset does your routine crash during run-time?

EDIT: 4) This is part of a infinite loop.  Either r3 is improperly modified so you always branch back to line 5, or you are doing:

branch Line5
lbu r3, SOMEPLACE

somewhere in the code.
Title: Re: ALMA 3: previewability 0.1
Post by: pokeytax on July 26, 2011, 08:29:39 pm
A buggy alpha of ALMA 4 is posted to the OP. I haven't debugged the scripting yet or thoroughly debugged much of anything, but it runs the core code without crashing so I'm going to post it for the curious. I still have a ton of debugging to do, so while I appreciate every comment beta testing isn't a priority yet.

This is NOT RECOMMENDED as a replacement for ALMA 3 if your patch is running on ALMA 3. It has several known issues (e.g. PA/MA/SP battle buffs/debuffs don't work right) and doesn't have the noncore ALMA 3 stuff like disables and skillsets yet. If you fell for my lies about ALMA 4 resolving your bugs, man, you are a sucker. But I'm working on fixing those and getting it up to speed, and the code should be easier to maintain.

If you do decide to fiddle with it out of morbid curiosity, I suggest you avoid the ALMAscript and ALMAtrait tabs, they're almost certainly too buggy right now to function and the interface is Not Good.

I've also attached my notes, although those are of even less general interest. (fdc, I checked for what you're suggesting, but the constraint that it crash in runtime but not in stepthrough is pretty harsh. A logic error should trip that, and nothing should be branching there. Please don't spend your precious coding time on it unless you really enjoy it, since some nops fixed it, but if it comes up again I'll hunt more intently for it.)


- Set bonuses implemented. An item can belong to two sets (or count twice for one set), e.g. Masamune can be in set 01 ("Genji") and set 05 ("katanas").
- Job level bonuses scrapped and replaced with simple attributes attached to jobs and secondaries. The replaced functionality will be available in ALMAscript.
- Identity attributes; e.g. Ramza (not uberSquire) gains Gained JP Up, Mustadio (not Engineer) gains Equip Gun.
- Revamped passives to work with RAD. Knight ability A4 can apply a passive to Knights and freelancers, A5 can apply to Knights and Battle Skill secondary, and A6 can apply to Knights only. There is more flexibility to give special characters global passives in their base class.
- Added "natural" stat boosts, which are affected by HPM/MPM/PAM/MAM/SPM.
- Added percentage stat multipliers for people who hate the number sixty.
- Fixed the issue where several low multipliers were all rounded down to zero instead of compounding.
- Added bonuses/multipliers for wonky stuff like evasion stats which may or may not work.
- Added brave/faith modification to attributes. YOU MUST DISABLE PERMANENT BRAVE/FAITH MODIFICATION. YOU SHOULD PROBABLY DISABLE IN-BATTLE BRAVE/FAITH MODIFICATION.
- Added the ability to strip RSM/status/elements (e.g. Flame Shield grants Absorb:Fire and Weak:Water, removes Absorb:Water).
- Added the ability to disable, enable, and disable with extreme prejudice equipment types, in that order. Example:
Knights can equip Swords.
If White Magic secondary disables Swords, Knight/White Magic cannot equip Swords.
Knight/White Magic/Equip Sword can equip Swords.
If the shield Escutcheon III hard disables all weapons, Knight/Equip Sword cannot equip Swords.
- There is an equipment check which enforces Two Swords/equipment restrictions, so stuff like Merit Awards and offhand daggers that grant Two Swords should be okay now. Two Hands might still be iffy, we'll see.
- Attributes have limited space now. Attributes 50-77 are "long" and can hold sixteen mods. Attributes 78-EF are "short" and can hold four mods.
- Attributes can be chained together; attribute 50 can hold fifteen mods and then call attribute 51, which can hold fifteen mods and then call attribute 52 to accommodate whatever monstrosities are required. (But don't have attribute 52 call attribute 50...)
- ALMAscript is going to be rad when it's done, but it's not. I'll tease it when it is.
Title: Re: ALMA 3.99: all the functionality you've never wanted
Post by: formerdeathcorps on July 27, 2011, 02:51:59 pm
I just applied your patch without the extra nops.  Nothing froze.  A couple of issues, however:

1) It's never efficient in terms of either space or runtime to use a scripting language, especially if your scripting language is used for only part of your hack because you'll spend more space on interpreting code just for that little section of script.  (Also, you threw out MIPS' system of opcodes only to add your own, which doesn't seem too efficient.)  You literally have to have ALMAscript encompass all of your data tables (wherein 4 byte => 3 byte commands) for it to exhibit any overall space savings.

2) In terms of general efficiency, your code could be improved.  The following are merely examples of what I'm finding throughout your code.

0F78   bne r2, r6, 0x0FA4   
0F7C   nop   
0F80   nop   
0F84   add r6, r17, r7   

A) Why do you have two nops there?  Only one is really needed.  Furthermore, if you're branching to a line that says sll r6, r6, 0x01, can't you do...
0F78   bne r2, r6, 0x0FA4   
0F7C   sll r6, r6, 0x01   
0F80   add r6, r17, r7   
...
0FA4 beq r6, r0, PLACE



10B4   sltiu r7, r4, 0x001E   
10B8   bne r7, r0, 0x0CCC   
10BC   addiu r4, r4, 0x0002   
10C0   lui r3, 0x8016   
10C4   lw r4, 0xF1AC(r3)   
10C8   lw r5, 0xF1B0(r3)   

This is by no means the only place but...
B) You load 0x80160000 to r3 only to change r3's value right after.  The repeated use of (lui r3/r6 0x8016) throughout your code adds up and wastes space.  Shouldn't you just dedicate a register to this value?
C) You can't load 0xF1AC (r3).  Did you mean load -0x0E54 (r3)?

10CC   sltiu r3, r4, 0x0004   
10D0   bne r3, r0, 0x0220   
10D4   nop   
10D8   sltiu r3, r4, 0x0014   

D) There's nothing barring you from compressing the code (unless the recursive code checks the binary value on r3)...
10CC   sltiu r3, r4, 0x0004   
10D0   bne r3, r0, 0x0220   
10D4   sltiu r3, r4, 0x0014   
....

....
10FC   sltiu r3, r4, 0x003A   
1100   bne r3, r0, 0x04E8   
1104   nop   
1108   sltiu r3, r4, 0x008C   
110C   beq r3, r0, 0x05A4   
1110   nop

E) At the end, if r4 can take a value between 0x3A to 0x8B (inclusive), this code won't end.  If not, however, this is a waste of space since...
10FC   sltiu r3, r4, 0x003A
1100   bne r3, r0, 0x04E8
1104   nop   
1108   beq r0, r0, 0x05A4    
110C   nop
...does the same thing



0F84   add r6, r17, r7   
0F88   lbu r7, 0x0046(r6)   
0F8C   ori r2, r0, 0xFFFF   
0F90   xor r2, r2, r5   
0F94   and r2, r2, r7   
0F98   sb r2, 0x0046(r6)   
0F9C   beq r0, r0, 0x10B4   

F) Can't you exploit the load delay and rewrite the end?  Something like...
...
0F94   and r2, r2, r7   
0F98   beq r0, r0, 0x10B4   
0F9C   sb r2, 0x0046(r6)
Title: Re: ALMA 3.99: all the functionality you've never wanted
Post by: pokeytax on July 27, 2011, 05:21:32 pm
Quote from: formerdeathcorps on July 27, 2011, 02:51:59 pm
1) It's never efficient in terms of either space or runtime to use a scripting language, especially if your scripting language is used for only part of your hack because you'll spend more space on interpreting code just for that little section of script.  (Also, you threw out MIPS' system of opcodes only to add your own, which doesn't seem too efficient.)


Yes, it sacrifices runtime, and space to an extent. If you know how to ASM you might be better off jumping to freespace, but for the ASM-impaired I think it has some usefulness.

Quoteefficiency


As I'm sure you noticed, I have a mild phobia about branch delay slots, induced by a terrible time fixing a similar bug before. I attributed that to fiddling with a branch variable in the delay slot, but given this recent recurrence that's unrelated to that (and the fact that native code does that all the time with no issues!) I think I'll take your advice.

There is a lot of fat besides that though (e.g. lui r3, 0x8016 being 10% of the hack by weight). I'll take your notes into consideration if/when I go through and rewrite - while in the past I have protested that freespace is basically limitless, things look different now that I am up against the limit!
Title: Re: ALMA 3.99: all the functionality you've never wanted
Post by: Pickle Girl Fanboy on July 27, 2011, 07:04:00 pm
FDC, did you learn all your asm skills here, with no university classes or anything?  Are you guys going to start the next facebook someday?
Title: Re: ALMA 3.99: all the functionality you've never wanted
Post by: pokeytax on July 27, 2011, 11:17:11 pm
Some bug fixes and an ALMAscript tutorial (it seems stable enough to use now). An example script that permits Two Swords gun/gun and crossbow/crossbow, but not sword/gun, is included.
Title: Re: ALMA 3.99: all the functionality you've never wanted
Post by: pokeytax on July 30, 2011, 11:30:41 am
There is another similar pSX-only, runtime-only bug occurring when an attribute is applied in battle. I stuck an attribute on Dagger, so equipping a Dagger will crash the game. The hack runs fine if no attributes are called.

I'm going to go squash it through trial and error, but the ALMA 4 file in the OP exhibits this issue for the curious.
Title: Re: ALMA 3.99: all the functionality you've never wanted
Post by: MysticKnightFF5 on July 30, 2011, 06:20:48 pm
Quote from: Pickle Girl Fanboy on July 27, 2011, 07:04:00 pm
FDC, did you learn all your asm skills here, with no university classes or anything?  Are you guys going to start the next facebook someday?

If FDC makes the next facebook, I will assassinate him. On that, I (very seriously) swear. (I mean it FDC, you better not)
Title: Re: ALMA 3.99: all the functionality you've never wanted
Post by: formerdeathcorps on July 31, 2011, 10:16:15 pm
Yes and no, PGF.  FFH got me started on learning ASM, but I practiced by hacking GBA games too.  The Internet also proved invaluable in finding opcode translators, information on computer architecture (these are often lecture slides from professors, so to say I didn't use any university classes would be a lie, just not formally), and the actual limitations of the MIPS chip and the pSX.  Quite often, studying existing code lets me figure out how to write what I want, and how to improve the space used.

And MK, no need to worry or endanger yourself (or me).  I'm not into "social networking" anyways.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 03, 2011, 11:21:49 pm
Close enough to be released. I'm going to go through and test more comprehensively using the CCP and Parted Ways ALMA 3 loadouts, so I still wouldn't run your patch on it, but I want to put it out before I go on vacation this weekend. I'm going to try to flesh out the OP soon, as I realize the scripting is basically useless with so little documentation.

Stuff that still doesn't work:
- Initial and Cancel statuses. Huh, weird. You can use the new attribute box to easily chain to an ordinary item attribute that adds these though.
- WP and evasion modifiers. FFT is kind of addled about these (it loads them from unit data, then ignores them and recalculates based on equips, then writes that to unit data) so I'm going to have to tinker to get them working.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: RavenOfRazgriz on August 05, 2011, 09:45:49 pm
Looking at the changelog, it looks like you scrapped a bunch of stuff no one was really ever going to make much use of for things like gear sets that are more generally useful.  I like this change.

ALMAscript? I'm looking at it, and even with the help, it makes my head hurt.  This is partially due to the fact that many settings (FLAGGED, REWARD, Skip X Steps, etc.) aren't clearly defined into what they actually mean.  The distinctive names are nice - but without something beyond a vague idea of what they do, it doesn't help much.  I think your help notes need to elaborate on what each of your settings actually means for the coding-impaired, and your example logic (Two Swords denies Gun/Crossbow + Sword, etc.) needs to be broken down so people can actually see what it's doing, because honestly, even I have no clue what you're actually doing there.

If you're still hurting some space, you could always try fixing that stuff FDC mentioned if you haven't already.  Though, the Identity Attributes don't seem all that useful, personally, since all you need to do to simulate that effect with Job Attributes is give non-Ramza UberSquire or non-Mustadio Engineer a dupe of the Job in a different slot, and there's so many Job slots that having space for this is easier than taking a piss.  Seems like an absolute waste of space, considering that.  A number of the other features look pretty nice though, like I said earlier.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 08, 2011, 04:31:03 pm
Quote from: RavenOfRazgriz on August 05, 2011, 09:45:49 pm
ALMAscript? I'm looking at it, and even with the help, it makes my head hurt.


Yeah, making it easier is high on the list. It shouldn't be an ordeal to make a simple gunblade.

QuoteIdentity attributes


Maybe what I said was unclear - these don't add traits to Ramza's UberSquire job (as you note, this is easily done with job attributes) but to Ramza himself. So giving attribute 50 to jobs 01, 02, 03 means that Ramza will have Gained JP Up whether he is a Squire or Knight or Calculator, but a unit besides Ramza with current job 01, 02, or 03 will not have Gained JP Up.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: RandMuadDib on August 08, 2011, 05:44:21 pm
interesting... so i could, in theory, give a Llyud character innate "Fly," regarless of his current class? or is this Ramza-specific?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 08, 2011, 06:05:46 pm
Quote from: RandMuadDib on August 08, 2011, 05:44:21 pm
interesting... so i could, in theory, give a Llyud character innate "Fly," regarless of his current class? or is this Ramza-specific?


Yeah, that's the idea. Of course, if you want generics to stay competitive, you'll have to either couple "Fly" with some debuff or grant generics their own global attribute (identity 4A).
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Pickle Girl Fanboy on August 08, 2011, 06:20:22 pm
How big of a pain is the previewable item attributes thing giving you?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 08, 2011, 06:44:32 pm
Quote from: Pickle Girl Fanboy on August 08, 2011, 06:20:22 pm
How big of a pain is the previewable item attributes thing giving you?


It's already working for simple stat adds and decrements. For the whole enchilada... well:

- vanilla FFT just deals with simple stat adds and decrements, so it just looks at the difference between the old item/RSM and new item/RSM.
- ALMA has too much crazy garbage like multipliers that can't be easily modeled. The easiest way to find out the difference between old and new stats is... run ALMA. So I'm going to have to rework it into a proper subroutine that stores r31 in the stack, run the subroutine on a a full dummy of unit data, and compare the new data to the old data manually. It seems possible, and thankfully it's in WORLD.BIN where space is less precious, but I'm going to get the main code running first.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Pickle Girl Fanboy on August 08, 2011, 06:59:22 pm
You mean stat multipliers?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 08, 2011, 07:15:21 pm
Quote from: Pickle Girl Fanboy on August 08, 2011, 06:59:22 pm
You mean stat multipliers?


And forced de-equip, and minimum multipliers, and added R/S/M attributes... there's just a lot going on.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Pickle Girl Fanboy on August 08, 2011, 07:18:10 pm
Well, can you throw something together that pulls off previewability and keeps only the extra attributes and those attribute properties that are only present in vanilla?  Because that's all I really need - extra attributes and previewablity.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: RavenOfRazgriz on August 08, 2011, 11:43:39 pm
Quote from: pokeytax on August 08, 2011, 04:31:03 pmSo giving attribute 50 to jobs 01, 02, 03 means that Ramza will have Gained JP Up whether he is a Squire or Knight or Calculator, but a unit besides Ramza with current job 01, 02, or 03 will not have Gained JP Up.


Ah.  Okay.  That makes it at least somewhat valuable then.  How much space is it taking up though?  If you're still tight on space, that seems like something that could be reduced to only a few entries - I can't imagine the majority of people will use this on more than a single unit or two.  It just seemed totally irrelevant at first.  Knowing that, it seems kind of cool for at least a one-of character.

(Then again, opening ALMA4 is being weird for me right now so I can't open the interface.  Probably my OpenOffice being a chuggy fuck.  I only got a peek at it earlier because I had temporary Excel access where it opened and ran beautifully, so it's definitely OpenOffice I think.  Either way you may already have this coded in a really compressed and space-efficient way that compensates for the fact most people will only use it for a couple units if any, just checking to be sure.)
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 09, 2011, 06:06:57 am
Quote from: Pickle Girl Fanboy on August 08, 2011, 07:18:10 pm
Well, can you throw something together that pulls off previewability and keeps only the extra attributes and those attribute properties that are only present in vanilla?  Because that's all I really need - extra attributes and previewablity.


But... that's what it already does... once I figure out what's wrong with the initial/cancel statuses. In fact ALMA 3 had that covered. Don't worry, your weird item attribute fetish is already well served.

QuoteEither way you may already have this coded in a really compressed and space-efficient way


:lol:

The spreadsheet is ludicrously big so if OpenOffice is having problems I may have to split it up. I can sympathize, my home computer actually can't run any spreadsheets with Analysis Toolkit.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: RavenOfRazgriz on August 09, 2011, 10:58:02 am
Well, I half-lied.  It does open.  It takes a few minutes though, and all the Macros are broken as like with basically everything else that isn't outright made in OpenOffice to ensure it works.

I finally stopped being a lazy ass an acquired an Excel as well so I can look things over better in a while, but I'll probably still make all my spreadsheets in OpenOffice myself just to ensure compatibility and all that jazz.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Pickle Girl Fanboy on August 09, 2011, 11:40:06 am
Dude, just use Gnumeric, it's faster.  Or wait a few months for LibreOffice to get better.  OpenOffice is dead now; LibreOffice is the dominant fork of that particular tree.

And did you ever clear up the problem with the negative Move/Jump/SP/PA/MA?  The problem being an oversight where whoever coded it didn't notice that 0x80 is used in Jump to signify Stepping Stone, and decided to make 0x80 give -128 Jump.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 10, 2011, 10:19:38 pm
Stress tested using Parted Ways and fixed many glaring issues. At this point, I don't think it's much less reliable than ALMA 3, so patch creators might consider moving over. Unless this version crashes on load and I can't check until tomorrow!

I'm going to try an .xlsx file, which open-source programs might tolerate better.

Quote from: Pickle Girl FanboyStepping Stone


I forgot about that one. It shouldn't come up too often, you'd have to use a multiplier or trip negative overflow, but it ought to be fixed regardless.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Pickle Girl Fanboy on August 11, 2011, 02:33:47 pm
So there's a different trigger for Stepping Stone?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 11, 2011, 05:56:24 pm
No, but ALMA will generally leave it alone, unless you reduce the 83 or whatever to 7F by adding -4 move or 41 by adding 50% move. Small increments should be fine, since typically monsters aren't going to be having a ton of ALMA attributes applied to them anyway.

I added an attribute summary because, wow, the hack is unusable without it.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Pickle Girl Fanboy on August 11, 2011, 06:22:50 pm
So I can add 0x80 to a suit of armor or a helmet and get the stepping stone attribute without getting negative jump?  Then how do I get negative Jump?  Is that explained in the summary?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 11, 2011, 06:52:59 pm
Oh. No, that's crazy, you're crazy!

But... if you had an attribute grant 127 Jump, then chained it to another attribute adding 1 Jump, I don't see why it wouldn't work.

Another, probably better way to do it would be to use the following ALMAscript:

equal to // next step // 1A Head // Grand Helmet
REWARD // set flag // custom byte: 3B // custom value: 80
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Pickle Girl Fanboy on August 11, 2011, 07:50:19 pm
I give up.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 12, 2011, 05:57:43 pm
There's now an .ods in ALMA 4.zip. It works okay for me and my computer is pretty bad. Feedback is appreciated.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: formerdeathcorps on August 12, 2011, 11:28:35 pm
Quote from: Pickle Girl Fanboy on August 09, 2011, 11:40:06 am
And did you ever clear up the problem with the negative Move/Jump/SP/PA/MA?  The problem being an oversight where whoever coded it didn't notice that 0x80 is used in Jump to signify Stepping Stone, and decided to make 0x80 give -128 Jump.


and

Quote
So I can add 0x80 to a suit of armor or a helmet and get the stepping stone attribute without getting negative jump?  Then how do I get negative Jump?  Is that explained in the summary?


Load the jump from SCUS (job table data) as signed.  If negative, then flag stepping stone as true, and set as positive.  (If positive, obviously, skip this step).  Then load the jump from SCUS/ALMA (item table data) as signed.  Add the two jump values.  If zero or negative, set as 1.  This should obviate both errors.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: SentinalBlade on August 15, 2011, 02:36:26 pm
Quote from: pokeytax on February 11, 2011, 10:08:39 pm
v 4.03
- Some bugs were due to this code brushing against the end of the kanji table/freespace. I've temporarily moved it (so the hack functions) to the SentinelBlade/VincentCraven block, like a huge jerk, but I'm going to have to come up with a permanent solution, 'cause that's obviously not cool.


If you havent done this already, don't worry about it running into my block.
If you really do feel guilty about it, just send me the lines you used so i can avoid them if i ever get the chance to ASM again ;P
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 18, 2011, 06:11:36 pm
Quote from: SentinalBlade on August 15, 2011, 02:36:26 pm
If you havent done this already, don't worry about it running into my block.
If you really do feel guilty about it, just send me the lines you used so i can avoid them if i ever get the chance to ASM again ;P


That's really thoughtful! But it's still not cool for one person to be sprawled out over half the ASM freespace. Either the hack needs to be slimmed down, or someone needs to implement a patching method that makes efficient use of freespace, or both. Along those lines, I'm probably going to release Diet ALMA without passives/ALMAscript to fit back in the original space, and I'm looking into rewriting some hacks with an .xml code standard that could be patched anywhere in freespace.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on August 22, 2011, 07:09:55 pm
ALMA doesn't strip equipment from enemies anymore (and give it to the player!). Things seem to be settling down now bugwise.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: RavenOfRazgriz on August 22, 2011, 07:34:05 pm
I think that'll make a lot of people rather happy.  Definitely makes me happy, because the insanity of those errors was making me wary of using ALMA at all.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Timbo on September 13, 2011, 12:34:29 am
I just downloaded ALMA 4. Is there a tutorial or something that lets you know how to use this? How goes the quest to make Jump passive?


The ability to give Lancers a more skills is tasty. I've been thinking about using RAD to create both a Lancer and Dragoon Job with the same prerequisites. One Job grants you the ability to buy the various Jump Height and Distance skills and the other buys you Reis Dragoner Skills. The main Job would have all of the RSM abilities, the Dragoner skills, and Jump as a Passive ability.

I've got a pretty good handle on RAD, what I'm not sure about is ALMA. Is the passive Jump thing possible yet?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on September 13, 2011, 07:15:22 pm
Quote from: Jack of All Trades on September 13, 2011, 12:34:29 am
I just downloaded ALMA 4. Is there a tutorial or something that lets you know how to use this?


not yet ._.

What you're looking for is in the 'Skillset' tab. Set a row (e.g. row 18) to "Comparison" = "Equal to?", "Byte" = "03 Job", "Value" = "057 Lancer", "Skillset" = "12 Jump". This will grant all Lancers Jump.

There's a minor snag with the AI, which will not learn skills from RAD jobs. So unless you cheat with ALMAscript and grant AI units some Jump skills, or separately grant AI units Izlude's 34 Jump skillset which autolearns its abilities, they will be packing dinky jumps.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on September 25, 2011, 10:38:02 pm
Quote from: pokeytax on September 13, 2011, 07:15:22 pm
not yet ._.

What you're looking for is in the 'Skillset' tab. Set a row (e.g. row 18) to "Comparison" = "Equal to?", "Byte" = "03 Job", "Value" = "057 Lancer", "Skillset" = "12 Jump". This will grant all Lancers Jump.

There's a minor snag with the AI, which will not learn skills from RAD jobs. So unless you cheat with ALMAscript and grant AI units some Jump skills, or separately grant AI units Izlude's 34 Jump skillset which autolearns its abilities, they will be packing dinky jumps.


Does that mean the Lancer class would have Jump as well as their skillset listed in FFTP? Also, how would that affect the learned skills, or would it force it to be a dinky jump?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on September 25, 2011, 11:29:14 pm
Quote from: Vanya on September 25, 2011, 10:38:02 pm
Does that mean the Lancer class would have Jump as well as their skillset listed in FFTP?


Yep.

QuoteAlso, how would that affect the learned skills, or would it force it to be a dinky jump?


It would default to using Lancer skillslots for 12 Jump. You should probably use 34 Jump for everyone, honestly. Just set it to contain whatever horizontal/vertical range you think Jump ought to be.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on September 25, 2011, 11:36:39 pm
Quote from: pokeytax on September 25, 2011, 11:29:14 pm
It would default to using Lancer skillslots for 12 Jump. You should probably use 34 Jump for everyone, honestly. Just set it to contain whatever horizontal/vertical range you think Jump ought to be.


You mentioned that Izlude's jump skillset is auto learned. Is that true for any other skillsets?
You know a set up like that might make it worth it to do a hack that makes the jump distance calculated off your jump stat.

EDIT: Wait. Can ALMA add a skillset based on the presence of a skillset? That way Jump could simply be a skill associated with the Lancer's skillset. That would make it more in line with the regular FF games too. If there are other skillsets that autolearn their skills this could be the perfect fix for Item, Throw, Draw Out, & Math Skill.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on September 25, 2011, 11:53:41 pm
Quote from: Vanya on September 25, 2011, 11:36:39 pm
You mentioned that Izlude's jump skillset is auto learned. Is that true for any other skillsets?


Yes! But, I don't know which, apart from that many of the "boss" skillsets are.

I agree that bypassing Jump skills for a better base mechanic is a better idea all-around.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on September 26, 2011, 12:01:16 am
That really has my mind filling up with ideas! ^___^
A Red Mage that specializes in reducing charge time that automatically has access to his Black and White spells he learned.
A Sage that can use all 4 main spell categories.
I could definitely do some cool stuff for the Geomancer, Ninja and Dragoon without having to worry about recreating their primary skill.
Sweet! Thanks for making this.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Timbo on September 28, 2011, 01:36:48 pm
This is incredible news. I'm so excited. Now, I have to rethink my patch a little bit.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on September 30, 2011, 04:26:22 am
I just had a thought. Couldn't I use Xif's Skillset Fix patch to make any skillset work like a "boss" one?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on September 30, 2011, 05:56:43 pm
Quote from: Vanya on September 30, 2011, 04:26:22 am
I just had a thought. Couldn't I use Xef's Skillset Fix patch to make any skillset work like a "boss" one?


I think that functions for a different part of the code. RAD has a more pertinent check that tells skillsets to mimic existing generic skillsets and reference, say, Learned Ability Slot 4 (Archer) in unit data, but even that isn't quite on the nose.

Adding a way to easily flag skillsets as autolearn, and/or to frankenstein byte 1 of learned Black Magic and byte 1 of learned White Magic into Red Magic, would be a nice improvement, I know.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Timbo on October 01, 2011, 12:40:39 pm
I've kind of figured out a way to do the Red Mage so that it gets a combination of the skills you've all ready learned. If we use RAD to create the higher tier white and black mages described here:http://ffhacktics.com/smf/index.php?topic=7031.40 (http://ffhacktics.com/smf/index.php?topic=7031.40). Although you preserve the costs for all of those skills when graduating from white mage to white wizards.

You could effectively give the Red Mage a simple skillset or empty skillset that and tell ALMA to give a unit the lowertiered version of White Magic and Black Magic based on the presence of the Red Magic Skillset. Does that make sense? It's essentially the Jump trick from above with a RAD twist.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on October 08, 2011, 11:48:51 pm
On the skill set page the drop down menu for the skill set you're giving only goes to 4C. Is that a deliberate limitation, or can it be extended to include the remaining skill sets?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on October 09, 2011, 10:14:00 am
It's an oversight; but you can ignore the dropdown and type it in manually.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on October 09, 2011, 01:35:29 pm
I tried typing in "A1 Item", but instead of getting that skillset added to the menu, it replaced Attack. I double checked that I set it to 'extra' and not 'replace'. Should I have just typed "A1" instead?
Never mind, that was exactly it. I did it again with just the hex value and it worked fine.

Offhand, do you know the values for Byte 16? That's the byte that stores the current support skill IIRC.

Also, It seems that 3 extra slots is the max no matter what, yes? Additionally, it also seems to overwrite any skillsets granted through any other means. Specifically, through the use of FFTP innate settings and Razele's patches. Is this a limitation of the menu or your hack?

Ultimately, the set up I'm after is to let all units have Defend, Equip Change, & Item in addition to the extra commands for Lancer, Samurai, Ninja, etc on a one-at-a-time basis through the use of an associated support ability. Of course, this means merging R/S/M is out of the question.

So it would look like this:

Attack
Primary Skillset
Secondary Skillset
Support Skillset
Defend
Equip Change
Item

I'm considering giving several jobs support skillsets in this fashion with a small number of abilities in each.
Monk - Primary: Kenjutsu, Support: Chakra
White Mage - Primary: White Magick, Support: Prayer
Black Mage - Primary: Black Magick, Support: Chant
Dragon Knight - Primary: Dragon Skill, Support: Jump
Geomancer - Primary: Anima, Support: Geomancy
Red Mage - Primary: <pending>, Support: Red Magick
(Red Magick would have a selection of white & black spells that are weaker but have lower charge time.)
Blue Mage - Primary: Enemy Skills, Support: Level Magick (A limited version of Math Skill)
Samurai - Primary: Bushido, Support: Akkei (Akkei is Draw Out, it means the release of inner power.)
Ninja - Primary: Ninjutsu, Support: Nage (aka Throw.)
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on October 09, 2011, 04:49:52 pm
Quote from: Vanya on October 09, 2011, 01:35:29 pm
Offhand, do you know the values for Byte 16? That's the byte that stores the current support skill IIRC.


Lots of people (including me) try to read the current support skill this way when starting out. The correct way to read the current support skill is by checking the flags on bytes 8F - 92, because this accounts for innate supports and things you add through ALMA. So just choose Flagged?/Monster Talk or whatever.

QuoteAlso, It seems that 3 extra slots is the max no matter what, yes?


Yes, I hardcoded a limit because the menu has graphical glitches after five options (Attack/Primary/Secondary/Extra/Extra).

QuoteAdditionally, it also seems to overwrite any skillsets granted through any other means. Specifically, through the use of FFTP innate settings and Razele's patches. Is this a limitation of the menu or your hack?


I'm not sure what you mean by FFTP innate settings - this hack does overwrite the normal handling of Equip Change and Defend, so if you want them to work you need them in the Skillsets tab, and it rewrites the menu over Razele's hacks or anyone else's. I couldn't make it compatible with other arbitrary hacks.

QuoteUltimately, the set up I'm after is to let all units have Defend, Equip Change, & Item in addition to the extra commands for Lancer, Samurai, Ninja, etc on a one-at-a-time basis through the use of an associated support ability. Of course, this means merging R/S/M is out of the question.


What you are asking for is eight skillslots, if I understand you correctly (Lancer equipping "Chakra" could have Attack/Dragon Skill/White Magick/Jump/Chakra/Equip Change/Item/Defend). You've got five. Gonna have to make stuff like Equip Change/Defend low priority allowing other stuff to push it off the end of the queue, and force Lancers to equip Jump to get Jump.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: RavenOfRazgriz on October 09, 2011, 05:22:41 pm
I'm pretty sure when Xifanie tested, the max you could get was 7 before menu-glitching, I could be wrong though.

Either way, it's not a particularly bad thing that there's a limit... having 8+ skillsets creates too much complexity for the player anyway.  (The AI also cannot handle knowing more than 38 skills total, but that's native to FFT because they never expected it to need to know more.)  This is why I really want Attack editable, though, it as a skillset would make a nice dumping ground for skillsets that are really only one command like Charge and Defend, but the AI doesn't accept those changes properly.    Had any luck there, Pokeytax, or just not tried in forever?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on October 09, 2011, 05:35:30 pm
Quote from: pokeytax on October 09, 2011, 04:49:52 pm
Lots of people (including me) try to read the current support skill this way when starting out. The correct way to read the current support skill is by checking the flags on bytes 8F - 92, because this accounts for innate supports and things you add through ALMA. So just choose Flagged?/Monster Talk or whatever.


Ah. Good to know. Thanks.


Quote from: pokeytax on October 09, 2011, 04:49:52 pm
Yes, I hardcoded a limit because the menu has graphical glitches after five options (Attack/Primary/Secondary/Extra/Extra).


Like Raven said, I remember Xif telling me the same thing about a limit of 7.


Quote from: pokeytax on October 09, 2011, 04:49:52 pm
I'm not sure what you mean by FFTP innate settings - this hack does overwrite the normal handling of Equip Change and Defend, so if you want them to work you need them in the Skillsets tab, and it rewrites the menu over Razele's hacks or anyone else's. I couldn't make it compatible with other arbitrary hacks.


By innate setting I was referring to making Defend & Equip Change innate in FFTP. But, I see what happened, because I didn't include them in the Skillsets tab.


Quote from: pokeytax on October 09, 2011, 04:49:52 pm
What you are asking for is eight skillslots, if I understand you correctly (Lancer equipping "Chakra" could have Attack/Dragon Skill/White Magick/Jump/Chakra/Equip Change/Item/Defend). You've got five. Gonna have to make stuff like Equip Change/Defend low priority allowing other stuff to push it off the end of the queue, and force Lancers to equip Jump to get Jump.


7 actually, The Lancer's extra support skillset would not be innate. They would have to learn the corresponding support and equip it before it shows up. In this way I would restrict these extra support skills to only one at a time. I was thinking of having an Onion Fencer job that teaches Equip Change as it's sole ability so I can knock one more skillslot off. If the 7 slot limit doesn't pan out I suppose I could take a page from FF6 and make these extra skillsets replace Attack.


BTW, I haven't been able to make heads or tails of the Passives slot. Could you 'splaing plees?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on October 09, 2011, 08:26:30 pm
I've never seen anything more than five not provoke a graphical glitch for the player, overwriting the bottom of the menu (which makes sense as five is the maximum in vanilla). I imagine this is fixable, or maybe doesn't show up using a different skillset writing method? I don't know, but if it were as easy as just trying more than five, I woulda done it already.

Quote from: RavenOfRazgriz on October 09, 2011, 05:22:41 pmHad any luck there, Pokeytax, or just not tried in forever?


Haven't tried recently. There's such a lot of world to see...

The passives tab hopefully works! I haven't tested it too extensively because no one has ever wanted to use passives.

"Passives" are bonuses from LEARNED ABILITIES.

The three large columns give passives to active jobs, specific people, and equipped secondaries.
The table on the right determines which attributes are granted.

Part 1: Basic Passives

Let's say you wanted to have learning Accumulate grant PA + 1 (attribute 31).

Accumulate is Squire Ability 1, so set cell CL5 to 31. Now Accumulate is associated with PA + 1, but we have to decide what conditions add this bonus.

If you want units with the job Squire to gain the bonus, check cell C78.
If you want units with Basic Skill secondary to gain the bonus, check cell AZ9 (05 Basic Skill).

You can apply multiple conditions: if you want units to gain +1 PA if they are Squires or have Basic Skill secondary, check both C78 & AZ9.

Part 2: Identities and Freelancers

The middle column lets you give special characters talents that apply outside their base job. For example, let's say that you want to give 1E Holy Knight (Agrias) the RSM "Equip Sword" in her sixth RSM slot, and have it grant her permanent sword availability once learned regardless of job.

In FFTPatcher, go to skillset 28 Holy Sword and set the sixth RSM to Equip Sword.
ALMA attribute '7A' is the Equip Sword attribute, so set cell DG5 to 7A to assign it to Base Class RSM6. Then check cell AV30 to enable Base RSM6 Passives for Identity 1E.

This will let Agrias equip Swords as a Monk once she has learned Equip Sword in her Holy Knight base class, without giving that ability to Squires who learn their RSM6, Move + 1.

You can also have jobs that gain boosts from abilities learned in multiple classes. Let's say you had many passive boosts and wanted to give Mimes access to a weak passive from each job - if you set cell CL46 to 5D Mime, they activate every square checked in the grid above. By default, that's all passives. You can uncheck the ones that are too powerful.

Part 3: The ARH and "Pure Passives"

Learned abilities have a pesky habit of affecting stuff. Even trash like Level Jump5 has an in-game effect when learned. How do you make a true passive ability that just adds +20% HP or whatever? You need to use the ARH to disable the ability in battle. However, with a finite number of ability slots this seems a waste.

I fiddled with the ARH to allow it to disable not just real abilities, but the "special" abilities like Item/Throw/Jump/Charge/Math Skill when used in Normal skillsets. Since these abilities are of limited use to most patches, they make perfect passives. You can use the ARH v1.2 to disable Level Jump5, rename it "Toughness", and then add it to a non-Jump skillset. Instead of showing up as a buggy mess, it won't show up at all, just add its passive bonus when desired.

Feel free to ask more questions as I know it's confusing.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on October 09, 2011, 09:00:51 pm
Thanks! That helped out a lot. If I get stuck I'll make sure to ask.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Vanya on October 11, 2011, 02:09:05 am
Quote from: pokeytax on October 09, 2011, 08:26:30 pm
I've never seen anything more than five not provoke a graphical glitch for the player, overwriting the bottom of the menu (which makes sense as five is the maximum in vanilla). I imagine this is fixable, or maybe doesn't show up using a different skillset writing method? I don't know, but if it were as easy as just trying more than five, I woulda done it already.


Just wanted to bring your attention to this:
(Took me a while to track down too.)

Quote from: Xifanie on August 03, 2010, 07:35:15 pm
It's really not that simple. The skillset types affect its whole content and we can't have throwing items + normal abilities in the same skillset unless someone made a huge hack for it, which I currently can't because I have absolutely no idea how to proceed.
Act can hold 7 skillsets, or lines if you prefer. My other innate all skillset hack simple writes that skillset in the last/7th slot.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: pokeytax on February 02, 2013, 03:17:43 pm
There is a new version in the OP, which just fixes the issue with PA/MA/SP buffs and debuffs being cleared on level up/other stuff.  Hopefully.
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Nephlymio on June 19, 2013, 09:48:09 am
I've been playing around with Alma and an idea as came out of my mind. It results as a suggestion and a ''can we do that?''

Here is what I'm playing with right now, Jump as inherit from a skillset.
If dragoon or valkyrie skillset is ''equipped'' it would give out the jump command too. My question is, is it possible that level jump and range would increase by class level?
Because I don't want the jump command as a main command and having to spend jp and a skillset all together. I find jump a bad ''main skillset'' as it gives nothing else than jump as an attack...

Here is what I mean :

if class level dragoon = 1, learn skill level 1 jump, learn skill level jump 1 ( or just turn it on by making a single ability rather than 2)
if class level dragoon = 2 ... range and jump + 2 and so on

My thinking on this is, it would be nice that skills would be learnable from a checkbox in attributes... (rofl) So we could set a knightsword to give a special attack to a skillset as an hidden skill for a certain class by removing the learn from jp in fftpatcher?

or

Make a support ability give multiple advance command to a knight or mage skillset such as ''Advanced Magic''. When equip that support could make abilities like meteor / flare / fire 4 / ice 4 / bolt 4 enabled for the mage class since those abilities would be hidden into that skillset and not JP learnable.

The same way, we could make a specific class to inherit the attribute and unlock more of the skills than there actually is in the basic skills or white magics.......... This would be terrific!! We could set one big table of skills and make those generics see only a quarter of it, but special characters could have that and even more of the hidden skills making a compact skillset configuration.

This looks big, but it is all linked together since they all relates to the attribute sheet.

If this is possible, make sure those skills would disapear when unequipping the thing that activates them...
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Choto on August 28, 2013, 09:41:28 am
I was going through space consumption and noticed that ALMA and RAD conflict with each other... I think. I may have been looking at an old version but there is a section in ALMA that spans 0xF4C64 - 0xF4D07, and a section in RAD that spans 0xF4D00 - 0xF4D5C. Just making a note if you decide to fix it down the road.

And you know, even with how much I've gotten better over the years with ASM, these spreadsheets still leave me in awe.. they're so robust!
Title: Re: ALMA: Hamedo delenda est (Ability-Linked Multiplier Attributes)
Post by: Lockeadon on September 09, 2013, 01:49:47 pm
Quote from: RavenOfRazgriz on February 17, 2011, 07:01:40 pm
You'd need to explain that in more retard-friendly terms to get feedback on that, Pokeytax.  Even I don't exactly know what your script there would be doing.

And Pickle Girl Fanboy, you could easily just set things immune to Crystal and Treasure in FFTPatcher, lol.  Either that or make Immortal Status not block anything that make a small ASM hack that makes all units on a map spawn Immortal, including those placed by the player.

this is a really late reply but wouldn't that effectively remove perma-death for both your allies and the enemies?
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Lockeadon on September 09, 2013, 03:34:43 pm
this looks awesome... but how do you actually use it? this could use a how-to or a basic explanation of how to use it. color me confused o.o

*is now confused*

edit: also where is the list of attributes? the ones you talked about in your passives discussion don't seem to be the same ones on the attributes tab
Title: Re: ALMA 4: Excalibur grants Forever: Orlandu
Post by: Aqueous on March 18, 2015, 09:05:11 am
Hi Guys,

Trying to use this as well, I understand the topic hasn't been posted in for awhile but this hack looks so good I needed to ask a few questions:

1. I've not been able to quite find an explicit answer in the thread on whether it's possible or not to link one skillset to another? I am also trying to give Lancer's a new skillset but retain Jump as being automatically available when equipping the new Lancer skill set.

Looking at the sheet it appears possible but I wanted to check I'm doing this right.

I've set a new line on the Skillset tab:

Extra Slot - Equal to? - Never - 13 Secondary - New Skillset - 12 Jump

This should grant the use of Jump if I have the New Skillset as a secondary?

2. I understand it takes alot of time but is there any plans to make any form of tutorial for it? The reason I ask is because there's a plethora of stuff that could be done here but I suspect only a select few are using this in earnest because only that few understand it. That seems like an unfortunate waste.

3. Is there a way of plucking out only the part of the hack that I've changed when applying it? In other words, there's alot in this hack that is set to the default values and is included in the XML and in those cases I'm guessing it'll overwrite any modifications I've already made. I only want to apply changes not overwrite everything - is this possible?

Thank you :)