11 March 2016 - Forum Rules
Started by redmagejoe, December 10, 2019, 03:09:14 AM
Quote from: redmagejoe on March 23, 2020, 06:31:00 PMWhat, other than Wall, have you tested so far that we can cross it off our bug list?
Quote from: redmagejoe on March 23, 2020, 06:31:00 PMShould I revert the reversal of messages for Dispel and Barrier on my ChaosRush translation, then, if you've fixed the code to make it play nice with current translations?
Quote from: redmagejoe on March 23, 2020, 06:31:00 PMIt also occurs to me that while the actual behavior of Ultima in remakes is still an enigma, there's some fairly easy math that could be used to make the final spell fairly balanced. 1 point of guaranteed damage per level in a skill. Consider 16 spells (Ultima included) and 8 weapon types, all with 16 levels. That's 24 x 16 = 384. Make the base damage of Ultima something like 100 (or 116 for the sake of nice round numbers), and you end up with 500 damage per hit, with 16 hits on a Level 16 Ultima giving ~8000 damage. Might be an easier scaling spell that way rather than having it do obscene damage and then forcing a 9999 cap.
Quote from: redmagejoe on March 25, 2020, 08:22:11 PMI can try to test them out in Anniversary. Quake comes from Gaia Drum, Cyclone comes from Wind Flute, and what gives Tsunami? Also, what families should resist what?
Quote from: redmagejoe on March 25, 2020, 08:22:11 PMI'd like to try and make them behave as close to intended behavior as possible. The second one sounds like the most in-line with what the code was trying to do, just from how you've explained it.
Quote from: redmagejoe on March 25, 2020, 09:55:59 PMSo I've noticed that "Magic Beasts" sometimes seem to be synonymous with "Flying" types.
Quote from: redmagejoe on March 25, 2020, 09:55:59 PMI think that settles it in terms of how we should fix it.
Quote from: redmagejoe on March 25, 2020, 09:55:59 PMAlso, I really apologize that my contributions have slowed down. I feel guilty that it seems like you've tackled this huge part of the project while I'm trying to find time. The current crisis has complicated work, but I'm doing my best to clear my table, so to speak, so I can focus on this project once more. This project wouldn't even be possible without your awesome contributions, abw.
QuoteBug Fix To-Do List:WIP Life only writes the low byte of HP to be restored on success, which may result in leaving the target dead due to 16-bit math error.WIP Sap only acts on the least significant byte rather than the whole of a target's MP. Investigate and correct.WIP Osmose drains MP even if the target has none. Needs to check source MP before awarding it.WIP Protect and Berserk bonus may overflow before being added to Defense or Attack, resulting in low or no effect.WIP Wall can be exploited by casting it on monsters to ensure that Toad, Break, Death, and Warp work on them. Wall's effects should likely be checked before any routines handling animation or other effects take place. Investigate.WIP Cyclone/Quake/Tsunami should be resisted by certain monster families, but the branching code checks the wrong processor flag (C instead of Z), which means family resistance is broken but that bug is cancelled out by another bug where after calculating the target's number of successful resists, the result is never used, which means resistance for these spells is just totally broken.WIP Imbibe decreases the target's evasion % by 1, but there is no check for underflow, so you could end up going from 0 to 255 % evasion; having 255 evasion probably breaks other logic elsewhere.WIP Basuna always clears the Critical HP flagWIP Basuna always cures Poison, even with 0 successesWIP Slow and Fear are slightly too powerful, only failing with negative net successes instead of also failing with 0 net successesWIP Fear calculates spell power * net successes, but does not check the high byte of the productWIP Status-curing items don't set the variable containing the target's previous ailments when calling the code for determining which battle message to display, resulting in an incorrect message being displayed (e.g. if you suffer from both Amnesia and Curse, curing Curse in battle with a Cross will display the message for curing Amnesia.
Quote from: redmagejoe on March 26, 2020, 12:06:47 PMI'm assuming that these are all good to go and mark off our list?
Quote from: redmagejoe on December 10, 2019, 03:09:14 AMWIP Casting Basuna on a target with only the Critical HP ailment results in displaying the message for Fear. (This is a consequence of the other bug where Basuna mistakenly clears the Critical HP flag.)WIP If Esuna/Basuna fail to clear the highest present ailment, they display the Ineffective message even if they did clear other ailments.WIP Sap does not reduce target's MP with 0 successes but still displays its success message.
Quote from: redmagejoe on December 10, 2019, 03:09:14 AMThe logic for determining whether a monster will run or not calculates (total party HP - total monster HP) >> 5, but then ignores the high byte of the result and the possible carry from adding the monster's fear level.
Quote from: redmagejoe on December 10, 2019, 03:09:14 AMCombat engine gives credit for actions from both player characters and enemies before they've happened. Causes party to receive Magic Defense and Evasion credit even if the enemy is killed before it acts. Change counter increment behavior to happen after actions take place. May require significant rewriting of combat routine. Target/cancel exploit should be addressed through a solution.
Quote from: redmagejoe on March 31, 2020, 09:57:01 AMOther than merging all our current fixes, was anything else changed, or any addresses moved around? I think I was trying to avoid merging everything until towards the end when it was clear we wouldn't need to move too much any more, but I guess we're getting close to that point.
Quote from: redmagejoe on March 31, 2020, 09:57:01 AMAlso I knew about that dead character battle command thing early on, and yet somehow I neglected to mention it or add it to the list this entire time... No idea how the hell I let that happen.
Quote from: redmagejoe on March 31, 2020, 09:57:01 AMI'll go ahead and update the first post to start using the combined patch and rename it simply to "Final Fantasy Restored (Bug Fixes Only) Beta" since that seems like the path we're taking this close to the finish line. I'll also add those bugs to the list. If possible it would be nice if we could fine-tune the fleeing of enemies if it is, indeed, too frequent compared to usual.
Quote from: redmagejoe on March 31, 2020, 09:57:01 AMAnd did you actually manage to fix the target cancel exploit? I'm genuinely curious what approach you took to make that happen. Comparing our versions side by side and I see some places where I did some pretty rough fixes early on that it looks like you improved on, though the entire 0x1687A to 0x16A4B block looks like it's been significantly redone so I couldn't follow what all changed there.
Quote from: redmagejoe on March 31, 2020, 09:57:01 AMAt 0x16C51, there's 3 $05 which if I recall were the chance to lose stats that needed to be changed to $0B for the RNG change. Does that still hold or did you find a way to redo the RNG that can use the original values? Wow, there's a lot of mess in some of my early work I'm seeing now side-by-side, like leftover bytes and such.
Quote from: abw on March 31, 2020, 11:24:45 PMOn that note, how strongly do you feel that equipment stat bonuses not stacking is actually a bug?
QuoteStat refresh needed after Mysidian Tower Orbs
Quote from: redmagejoe on April 01, 2020, 12:07:10 AMI'm using the Anniversary version as a basis to say that it was a bug.
Quote from: redmagejoe on December 10, 2019, 03:09:14 AMInvestigate possibility of issue in event of >20 battle messages in queue.
Quote from: abw on March 10, 2020, 09:21:32 PMQuote from: redmagejoe on March 08, 2020, 06:54:42 PMAs stated, I'm settling with just removing the space in the Chaos Rush version for now, as I really don't want to redo the spell name character graphics, and I don't want to mess with window borders either.Yup, that's fine. I'm just saying that based on other games I've looked at, we might get lucky and be able to expand the width of the spell name window by changing a single byte somewhere.
Quote from: redmagejoe on March 08, 2020, 06:54:42 PMAs stated, I'm settling with just removing the space in the Chaos Rush version for now, as I really don't want to redo the spell name character graphics, and I don't want to mess with window borders either.
Quote from: redmagejoe on December 10, 2019, 03:09:14 AMCertain key items take up valuable inventory slots long after they are relevant to the game or story, when they should be consumed within the context of the story. There is no way to dispose of them. Consider implementing an item delete of Goddess's Bell once it is used to open Kashuan Keep, the Pass after you use it to gain access to the landed Dreadnought, the Egil's Torch after acquiring Sunfire OR after Sunfire is thrown into the Dreadnought's core, and of course the Sunfire after the same event, White Mask after it is placed upon the Goddess Statue, Black Mask after it is placed upon the Doppelganger, and Pendant after it is used to summon the Wyvern, or after Elina and her son vanish from Deist if there's some interaction they use. Investigate if any of these items still have any even mundane interactions with NPCs, as beyond these points they no longer are crucial to game progression. This will free up to 7 inventory slots of the 11 that key items take up, of your 32 total inventory slots.
; pointers to battle message window positioning data (width, height, top-left PPU address, bottom-left PPU address); indirect data load target (via $AA5A, $AA5E, $AB52, $AB56)0x016C08|$05:$ABF8:02 AC ; $05:$AC020x016C0A|$05:$ABFA:08 AC ; $05:$AC080x016C0C|$05:$ABFC:0E AC ; $05:$AC0E0x016C0E|$05:$ABFE:14 AC ; $05:$AC140x016C10|$05:$AC00:1A AC ; $05:$AC1A; indirect data load target (via $ABF8)0x016C12|$05:$AC02:0A 04 60 22 C0 22; indirect data load target (via $ABFA)0x016C18|$05:$AC08:0A 04 C0 22 20 23; indirect data load target (via $ABFC)0x016C1E|$05:$AC0E:09 04 69 22 C9 22; indirect data load target (via $ABFE)0x016C24|$05:$AC14:09 04 C9 22 29 23; indirect data load target (via $AC00)0x016C2A|$05:$AC1A:12 04 20 23 80 23
Quote from: redmagejoe on April 06, 2020, 01:28:58 AMWell... clearly that wasn't what I was meant to do with those 4 LDA #$07s. I changed them to #$08, and the box itself didn't stretch, it just shifted the text over 1 space to the right, cutting off 1 more character than it was already.
Quote from: redmagejoe on April 06, 2020, 01:28:58 AMThe only thing about this solution that bugs me is that it covers up the first digit of character HP >999 for the moment it's up, whereas before it was all perfectly formatted to show all the pertinent data... So I'm left once more with the choice between leaving it with the number crammed against the 5th character in the case of 5-character spell names, or always covering up the HP digit regardless the situation. Hmm...
Page created in 0.111 seconds with 19 queries.