She's been doing a ton of stuff that's amazing, including making equipment able to give bonuses that were exclusive to the GBA remake.
The amount of stuff you've changed/improved would make the FF1 Randomizer incredibly interesting.
A second overworld? Oooooo. Maybe we can even have unique stuff in the duplicate chests in Marsh Cave! You've got some great ideas here. Definitely one of the projects I'll be keeping an eye on.
That's interesting... I wonder if she's doing it the way I have the Heal Helmet do regen--just straight up checking "is this specific helmet equipped?" during the Check-For-Regen-Status code... Or if its a change to the armour equipping code and every piece of armour can give a boost to a stat...
I dunno how the FF1 Randomizer does its thing, but they're going to have a hell of a time with this. XD I don't think I've left ANY piece of code or data in its original spot in ROM. And I feel like I need to re-organize one last time when I'm finished.
Duplicate chests are a map tile issue actually! A quick check in the map editor in Hackster shows 11 unused chests for the Marsh Cave/Mirage Tower tileset. I need to try to remember to label these chests when working on the maps once I can import them into Tiled.
And hopefully figure out how to double the available tilesets, too. I tried once and broke everything, but maybe next time I'll understand how they're being loaded better.
Jiggers, are we using a system of equipment types yet?
I know that you converted the equipment system to use specific slots, but do the items have a type byte?
The later games associate classes with weapon types instead of specific lists.
That saves a ton of space and is easier for people to remember when selecting equipment.
Hm. You mean like... Plate Armour/Chain Armour/Leather Armor/Robes? And then just using that byte as the "class can equip" check? So that a thief can equip ANY piece of Leather Armor?
The current system is... more flexible, I think. Like the White/Black robes, or the Katana. If the Katana's weapon type was "dagger", then the black mage could wield it too...
What I absolutely should do is consolidate all the data into the same table, though. Instead of having an Equip Slot Table, a Class Equip Permissions table, and the equipment data itself all separate. Then every time a piece of equipment is checked, it only has to load from ONE spot--and put it in RAM, and test it against the currently worn piece.
Is there enough SRAM for something like that?
Oh boy. This is just me thinking out loud here...
I absolutely need to consolidate SRAM. Each of the menu options does NOT need a whole byte.
ExpGainOption = 2 bits
MoneyGainOption = 2 bits
EncRateOption = 2 bits
MuteSFXOption = 1 bit
AutoTargetOption = 1 bit
BattleTextSpeed = 4 bits
BattleBGColor = 4 bits
2 bytes? That makes room for the PlayTimer (4 byte) going into the unused slots (3 bytes)
Canal, Ship, Airship, Bridge visibility toggles = 1 bit each. Save 3 more bytes. BridgeScene only needs 2 bits. That leaves 2 more bits for new overworld vehicles (whatever people want to make.) And the extra room can be used for X/Y coordinates for those vehicles?
Key items, likewise, don't need bytes. You either have them, or you don't. 1 bit. Currently have 32 key item slots, that can be 4 bytes.
All the option data and consumable items currently takes up #48 ($30) bytes. #64 ($40) bytes is a quarter of a 256 byte block of RAM. Weapons, Armor, and Magic each take up $40. They don't need to, either. I'm pretty sure with some tricky math and some data tables or something, they can be $20 bytes each. Since the limit for each piece of equipment is 16, that's only 4 bits each.
Which more than makes room for $100 bytes of Class junk, $40 per character. $18 of which can be decompressed spell data, which would allow more than 64 spells in the game and also allow players to move the spells around in the character's inventory.
Picked a hell of a day to start drinking caffeine again.