News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: FF1 MMC5 Disassembly Updates  (Read 230250 times)

Vanya

  • Hero Member
  • *****
  • Posts: 1821
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #720 on: October 30, 2020, 06:11:03 am »
Terrible. My solution would be to leave out the "item to be removed" from the inventory and then encode the stat number text to display the numbers in the green palette if the gear would improve your stat and in pink if it would worsen it. Would that be even worse to code? I feel like it might be worse.

Also, I noted something else. What if you have at least one of every item?
If you have every slot used in the equipment bags, how do you remove equipped gear?
The original game and most later ones have the equipment menu commands 'EQUIP' and 'RMOVE'.
Since you took out the commands, there is no other way to unequip items.
Should they be restored?

Here... lets get nuts...

They could be added to the title bar in the equipment bag screen similarly to the original game:

'EQUIP' -> Closes the title bar menu, displays the normal equipment bag title bar and enters the equipment bag mode as normal.

'REMOVE' -> Removes the current item and exits without ever going into the equipment bag mode at all.

-OR-

Lets get really insane...

Alternatively you could use the stat "box" at the bottom of the main equipment screen to display an initial menu instead of your current stats:

'EQUIP' -> Goes to the normal equipment slot mode with your stats displayed and otherwise works as normal now.

'REMOVE' -> goes to the normal equipment slot mode, but now pressing A on a slot will empty the slot if there is anything equipped there.

And you could even add more options like maybe:

'EMPTY' -> removes all equipment.

'WEAPONS' -> just goes into the weapons side of the equipment bag to simply look at item stats like in the shops. You could even split the stat box so that a short description could be added to the right.

'ARMOR' -> same as above only for the armor side of the equipment bag.

'RELICS' -> if you add relics into the game then they can have a viewing command too?



Anyway. Back to my reporting...

Everything seems to be fine more or less as far as the town experience is concerned.
Being able to increment the total amount of items to but by 10 is smooth as butter and makes for a far better shopping experience. Groovy!

There is one other feature you might want to consider adding. When increasing the number of items to buy it currently caps the total at the total number of items you can hold minus the total number you have in inventory, but it doesn't take into account the total you can afford. Maybe add a secondary check that divides your GP by the cost of the item round down and if that number is lower than the number being bough it reduces it to that number instead?

In battle, I noticed that sometimes when my command window is supposed to come up it fails to display and the game hangs there playing the battle music. It happened once after getting ambushed and the enemies' extra turn ended, and then in another battle after the enemies' took their normal turn. So maybe it has to do with the enemy turn ending and not calling the right address or something?
« Last Edit: October 30, 2020, 07:47:28 am by Vanya »

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #721 on: October 30, 2020, 07:51:52 am »
Terrible because its a bad idea, or because it would take me so long to do it?

Coloring the numbers would be doable, though kind of annoying (maybe not as annoying as playing with the description strings more)... but its the comparing to old that I worry about. It would require... no, maybe I can simplify.

Update stats with To Be Unequipped item.
Copy Damage, Accuracy, Critical, to tmp RAM. Do this in Bank E... don't want to touch the Update stats routine anymore.
Update stats with To Be Equipped item.
Compare Damage, Accuracy, Critical, to tmp RAM.

Huh. Brain worky somehow.  :D

Yeah... I think... think I can do that? Weapon attribute bytes are $EB, $F3. Armor is $EE, $F6... oh no.

The description box would need to be drawn first, but taller by 1 tile, so the equipment list can cover the top of the box. Otherwise, the box border will be green/pink as well for Damage and Defense. Is that acceptable?

For removing, that's a plus for putting the To Be Unequipped item into the list. Slap a dot on there like so.



Now press A on THAT one, it compares To Be Unequipped with To Be Equipped, matches, and then the < Equipment Bag # > window asks, "Remove? OPYes   No" (I made a li'l glove.)

That way its not popping up every time you press A...?



Ahhh, writing posts while the other person edits, ain't it just the way.

I actually kinda dig that description-box-menu thing. You don't think that would mess with flow too much? Maybe its my FF14 experience kicking in again, but I just realized I've been striving to cut down the number of prompts as much as possible. The menus can be overwhelmingly ridiculous. When I'm in the Zone I don't want to be trifled with by Yesses and Nos. Except for the battle confirmation, which I need because I screw up the 4th character's turn so much.

Or would the menu be in the first Equip screen?

Equip        - Remove
Skills       - Get Nekked
View Stats   - Change Class 

Equip/Remove then puts the cursor where it is now, in the Right Hand/Left Hand/Bodyparts list...
Skills, change the screen to your 4 skill slots. Get Nekked removes everything, updates screen...
View Stats shows the screen without the cursor until you press a button again.
Change Class... Well, that's a screen for another day, but would putting it here be okay?

Secondary Gold check--good idea! (I kind of thought it was already there...?)

Battle stuff--yeah, its still all kinds of bad there, sorry. I got them flashing again at least. I just updated sprite positioning and stone tile loading as well! Stat loading is weird, an Imp just ran away from my level 1 guys and my white mage keeps getting 3 hits in. I need to deep debug all that. I don't wanna...
« Last Edit: October 30, 2020, 08:08:08 am by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1821
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #722 on: October 30, 2020, 09:37:38 am »
Terrible because its a bad idea, or because it would take me so long to do it?

"Terrible" is just an exclamation I use. It;s just a Vanya-ism. lol :3
I guess right now it means "Terrible, that we always go for the bigger more complex solutions when something simpler would suffice to most people, but it's expressed in a good way."


Coloring the numbers would be doable, though kind of annoying (maybe not as annoying as playing with the description strings more)... but its the comparing to old that I worry about. It would require... no, maybe I can simplify.

I like it just fine in the games that have such colored text.
Usually it's paired with a up or down triangle as well. Maybe just using those would work fine?


Update stats with To Be Unequipped item.
Copy Damage, Accuracy, Critical, to tmp RAM. Do this in Bank E... don't want to touch the Update stats routine anymore.
Update stats with To Be Equipped item.
Compare Damage, Accuracy, Critical, to tmp RAM.

Huh. Brain worky somehow.  :D

Yeah... I think... think I can do that? Weapon attribute bytes are $EB, $F3. Armor is $EE, $F6... oh no.

Not messing with other routines would probably be a good idea, yes.


The description box would need to be drawn first, but taller by 1 tile, so the equipment list can cover the top of the box. Otherwise, the box border will be green/pink as well for Damage and Defense. Is that acceptable?

Sounds fine to me.


For removing, that's a plus for putting the To Be Unequipped item into the list. Slap a dot on there like so.



Now press A on THAT one, it compares To Be Unequipped with To Be Equipped, matches, and then the < Equipment Bag # > window asks, "Remove? OPYes   No" (I made a li'l glove.)

That way its not popping up every time you press A...?

That could work, if you want to keep things as simple as possible.



Ahhh, writing posts while the other person edits, ain't it just the way.

This is the way.


I actually kinda dig that description-box-menu thing. You don't think that would mess with flow too much? Maybe its my FF14 experience kicking in again, but I just realized I've been striving to cut down the number of prompts as much as possible. The menus can be overwhelmingly ridiculous. When I'm in the Zone I don't want to be trifled with by Yesses and Nos. Except for the battle confirmation, which I need because I screw up the 4th character's turn so much.

Cutting down on the number prompts is usually a good idea in game design in general.

The description-box-menu thingy would basically add one step to the "Equipment Bag X" screen in much the same way as adding the Yes/No prompt except it would be upfront instead and would always have that extra step.


Or would the menu be in the first Equip screen?

This is the second option. It would work kinda like the Magic screen does now, but just arranged differently.

Right now the Magic screen has a title bar menu that lets you cast learn or forget.
So the flow is pretty straight forward.
'CAST' goes to the spell list, then from there you select a spell and go to the casting screen.
'LEARN' goes to the magic inventory, there you choose a spell to "equip".
'FORGET' goes to the spell list, then you pick a spell to remove.

The description-box-menu for the Equip screen would work similarly.
So the flow should be about the same.


Equip        - Remove
Skills       - Get Nekked
View Stats   - Change Class 

Equip/Remove then puts the cursor where it is now, in the Right Hand/Left Hand/Bodyparts list...
Skills, change the screen to your 4 skill slots. Get Nekked removes everything, updates screen...
View Stats shows the screen without the cursor until you press a button again.
Change Class... Well, that's a screen for another day, but would putting it here be okay?

'EQUIP' goes to the equipment list like now, yes. Then it takes you to the equipment bag when you pick an equipment slot.
'REMOVE' also goes to the equipment list, but now pressing 'A' would simply remove gear if there is any in the selected slot. No need for a prompt since you needed to specifically choose this command to get here in the first place.
'GET NEKKED' should probably open a Yes/No prompt, but otherwise goes no further anyway.

I don't think view stats is really needed as long as as you erase the menu and display the stats when it's relevant to do so like when you go to the equipment list.

And the class and skills stuff is definitely a screen for another day.
I think it should be its own menu entirely.


Secondary Gold check--good idea! (I kind of thought it was already there...?)

Yes!


Battle stuff--yeah, its still all kinds of bad there, sorry. I got them flashing again at least. I just updated sprite positioning and stone tile loading as well! Stat loading is weird, an Imp just ran away from my level 1 guys and my white mage keeps getting 3 hits in. I need to deep debug all that. I don't wanna...

Lol.



EDIT: I keep forgetting to mention this.
Can the equipment bag be modified to list our inventory sequentially instead of hard-coding each item into a specific slot?
« Last Edit: October 30, 2020, 11:55:49 am by Vanya »

Jiggers

  • Sr. Member
  • ****
  • Posts: 422
    • View Profile
    • My Ko-Fi Page
Re: FF1 MMC5 Disassembly Updates
« Reply #723 on: October 30, 2020, 07:36:51 pm »
Done any thinking on how a class/skill menu would look? If I'm going to be digging around in menu code again, I should start working on that too. I don't want to re-arrange the main menu any further, so I think replacing STATUS with SKILL or CLASS would work... There's unused space for sure.

Could go back to squishing up the stat words if needed. Str., Agil, Int., Vit., Luck, Soul, Dmg., Acc., Crit, Def., Evas, MgDf. Name + Class with a space between is 15 tiles long, out of 30 tiles if the text hugs the box borders. Main stat+## would be 7 including a space, substats would be 8.

If it were up to me, I'd move the sprite to sit above the level #, aligned with name and class. Shift the whole name/class/level/exp/next up one, put a box around it, maybe move it to the top right corner. Put another one in the top left with:
!COMMANDS
ABILITIES
CHANGE JOB
JOB LEVEL
VIEW STATS

And the bottom box could display info for each thing. VIEW STATS would do as it does now. JOB LEVEL would show unlockable abilities and commands, along with Job level and Exp. CHANGE JOB would convert the bottom box to a swappable list -- job on the first row, with the < arrows >, and any pertinent information on the 5 lines below; descriptive text, or base stats, or what have you... that's all I got for now.

Lots of things we could do!



Tonight's update tweaked the shop cursor/attribute bar updating speed. Shop logic itself shouldn't change much, but i may have missed a variable or two updating. Let me know if anything breaks.

I think the only way I can get this faster, is if there's a Buy Mode toggle which knows not to update the inventory text if its been written. Which... sounds good to me, let me see if I can do that... Nope, it has to update amounts, and its not worth it to not update the text if you're backing out of buying...

Can the equipment bag be modified to list our inventory sequentially instead of hard-coding each item into a specific slot?

I... really hope I have that capability now. I'll keep it in mind.



__CAST__LEARN__FORGET
_EQUIP__REMOVE__EMPTY

Equip with only one space should be okay, as the cursor would be on the box border. Or it could be WEAR, and fit perfectly.



Some screenshots posted up in the Discord if you can check them, Vanya. I'm starting to think maybe something else would be better. Need convincing I'm on the right track. With the submenu, pressing left/right to switch characters won't be possible... Up/Down would feel weird, or would it? Select to scroll through, or Start to scroll through, the way party leader does?
« Last Edit: November 02, 2020, 02:13:53 am by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

I wrote some NES music! Its a legal ROM file. - I got a Ko-Fi page too.

Vanya

  • Hero Member
  • *****
  • Posts: 1821
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #724 on: November 03, 2020, 11:24:27 am »
Sorry I never got back to you on this! Last couple of days were very hectic with finishing up the diorama base for my girlfriend's Spooky Town display. I was exhausted after completing that project.

Any who, it sounds like what you'd do for the status screen is something somewhat like FF6.


FF5 also has a similar set up.

FF6 doesn't have classes, but one character has the ability to swap around his commands in the status screen. I actually tried making an ASM hack for FF6 once so that all characters could change their commands, but I got stuck on some bugs and tried to bite off more than I could chew.

So given that FF6 has a similar arrangement I think moving the class change and commands to the status screen would work just fine.

For the status screen menu I would have:
JOB
COMMAND
ABILITY

I'd prefer it be on the right, tho.

If we do shrink the stat names I prefer going with D&D conventions:
Strength -> STR
Agility -> AGI
Intellect -> INT
Vitality -> CON (as in constitution)
Speed -> DEX (as in dexterity)(what did speed do again? I know we changed it from luck.)
Morale -> BRV (as in bravery)(I don't don't remember what this does either. Does bravery fit for it?)
Damage -> ATK (as in attack, which is what it originally was in Japanese.)
Accuracy -> HIT (as in hit rate, which I think is what it was in Japanese, too.)
Critical -> CRT
Defense -> DEF
Evasion -> EVA
M. Resist -> RES

Only other thing I would do is to include job level in there.
I'll have to think on it a bit more and get back to you.
I want to see how these are all handled in FF3, 4, 5, & 6.



Coolio. I'll check things out and report back.



The D&D geek in me wants to have it read __DON__DOFF__DISROBE, but...

How about __EQUIP__REMOVE__BARE ?



I'm still leaning toward changing everything to switch characters with select.
But if the submenu is arranged vertically, then we can do switching with left/right, no?
Either way I'll check those pics out for now.