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

Author Topic: Secret of Mana, Turbo - Beta 200401  (Read 229009 times)

kethinov

  • Full Member
  • ***
  • Posts: 127
    • View Profile
Re: Secret of Mana, Turbo - Beta 200102
« Reply #1120 on: January 04, 2020, 04:26:15 pm »
@kethinov

Hot damn.  It seems you are able to change bosses' behaviors.  I took a look, but it was beyond my ability.  Nice work.

Do you think you can make Dark Lich (underground state) actually chase sideways too? (in addition to vanilla's vertical chase)  That would make that guy MUCH scarier.  Of course, it may enable Head Bang Glitch again, but I think many people would prefer seeing Dark Lich's sideway chase (and if they screw up the Head Bang, then PC'll die, since underground grip wave causes sleep).  Well, I do, at least.  I love scary, menacing bosses.

It's probably doable, but it'd take some significant effort to figure it out. I'll put it on the to do list, though I'm not sure how long it'll take me to get to it (if ever... my SoM to do list is still quite long).

I know you already said you have no intention of making manual guard auto-disengage after # seconds, but would you be willing to make it unable to be activated while the stamina meter is not 100%?  Or make the guard be ineffective (eva = 0%) while the stamina is recharging?  That way, it would punish players if they disengage guard too early, since guarding right after disengaging won't do them any good -- and this would encourage/reward players if they have good timing with the guard.  I was playing against Dark Lich (hard mode), and man, all his physical attacks were joke with the manual guard (he seemed to use physical attacks more frequently than magic).  I'll take anything to make the manual guard a bit less OP.

That is a good idea. I would certainly enjoy playing a version with manual block having restrictions like that.

A related idea that's been on my to do list for a while is I've been interested in exploring ways to block swinging your weapon until stamina is either at 100% or at least >50%. I looked into this once and didn't see an easy way to do it, so that too likewise ended up buried on my "maybe some day" part of the to do list.

Queue

  • Sr. Member
  • ****
  • Posts: 331
    • View Profile
Re: Secret of Mana, Turbo - Beta 200102
« Reply #1121 on: January 05, 2020, 02:17:01 pm »
hmsong, okay, on initial inspection of your Gold Isle chest, I found that changing the first palette entry:
EA BC B6 CF
instead of the fourth, colored the chest correctly (and discolored other NPCs). I do not know why the NPC palette order matters nor how the game makes sure the right NPC gets the correct colors.

Also messed with Manual Block a little... arg, that code is a mess. Going to need more time so I can reorganize and optimize it before I can release any added features for it. I experimented with requiring full stamina to start blocking; that worked easily. I also experimented with it draining your stamina after the initial stamina-free grace period, down to 0, after which you'd stop blocking until stamina had refilled (and required a release and fresh press of R)... this worked, but exposed various bugs in the Manual Block code that I need to resolve.

I don't especially like how the latter plays, but luckily for you guys I want to clean up the code regardless so it'll likely wind up as an optional feature despite my strong distaste for it.
« Last Edit: January 05, 2020, 05:41:25 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 360
    • View Profile
Re: Secret of Mana, Turbo - Beta 200102
« Reply #1122 on: January 05, 2020, 05:51:43 pm »
Queue

Thanks.  Yeah, when I was experimenting with the Gold Isle chest, I found that out too.  Obviously, I don't intend on screwing up the NPC colors (unless the colors are acceptable, but it's not).  It's so weird.  I even used Northtown treasure chest color set (4F) to see if that worked (that color set has the same order as what I intended to create), but nope.

Wuw, you work fast.  The manual guard idea sounds great.  I hope the optional feature works out well (without creating bugs somewhere).  I know that you already expressed your displeasure in that idea, but thanks for creating it anyways (for your audience).

January 05, 2020, 08:41:38 pm - (Auto Merged - Double Posts are not allowed before 7 days.)

I realized while I was replaying this game from scratch.  In the Goblin Village scene, Randi says, "Haaaalp", instead of "Heeeelp" for Relocalized (I don't actually know how many aaaa or eeee's there are, but you get my point).  Spelling error.
« Last Edit: January 05, 2020, 08:41:38 pm by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 331
    • View Profile
Re: Secret of Mana, Turbo - Beta 200102
« Reply #1123 on: January 05, 2020, 09:26:35 pm »
That wouldn't count as a spelling error, just a style choice. It's probably best described by https://en.wikipedia.org/wiki/Eye_dialect. While obviously not how "help" is spelled, it's meant as an exaggeration of how the boy is screaming the word (probably meant as a mix of "aaaaaaaaah" and help).

hmsong

  • Sr. Member
  • ****
  • Posts: 360
    • View Profile
Re: Secret of Mana, Turbo - Beta 200102
« Reply #1124 on: January 05, 2020, 09:34:30 pm »
Oh.  I didn't know it was intentional.  I thought it was accidental.  I still prefer the correct spelling, but I'll leave that up to you.

I also noticed that the Axe barrier in Haunted Forest doesn't get destroyed by the Axe swing (standing B).  It does get destroyed by Axe stab (DPad + B).  Maybe you can make it get destroyed by Axe swing too?

Also, the only way to get rid of persistent saber (assuming it's active) is to cast Dispel or use Magical/Stardust Herb (and of course, actually using up the saber buff).  Do you think you can make it so that sleeping in the Inn would cause Dispel effect on all characters?  And when I say Dispel, I'm also including things like buffs and barriers.
« Last Edit: January 06, 2020, 12:00:36 am by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 331
    • View Profile
Re: Secret of Mana, Turbo - Beta 200102
« Reply #1125 on: January 06, 2020, 12:17:39 am »
Pretty sure the axe swing issue is a collision issue with some (most) of those axe swing animation hit regions. It's something a little more fundamental that needs fixing, but I haven't gotten to (need a break from weapon animations after cleaning up the whip animations / making the flail animations).

Yeah, using an inn "cleansing" your characters entirely makes sense. Should be doable.

hmsong

  • Sr. Member
  • ****
  • Posts: 360
    • View Profile
Re: Secret of Mana, Turbo - Beta 200102
« Reply #1126 on: January 06, 2020, 01:53:42 am »
I also thought the axe barrier was due to the axe hit box, so I tried to barely touch the axe barrier with the axe stab.  Axe stab still broke the barrier, whereas the axe swing at very close range did not.

Thanks.  Looking forward to the inn cleansing.

Queue

  • Sr. Member
  • ****
  • Posts: 331
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1127 on: January 06, 2020, 09:04:14 pm »
Version 2020-01-06:
https://ufile.io/6ac7erqo

Changes:
- Implemented Blocking_Requires_Full_Stamina sub-feature for Manual_Block (I don't think this has any flaws)
- Implemented experimental Blocking_Drains_Stamina sub-feature for Manual_Block; this one is still buggy but good enough for initial testing

Technical Changes:
- Overhaul to shared helper functions allowing for a mechanism to inline them; this needs testing to make sure I didn't break anything (specifically any features that use these shared helper functions, which is a lot of stuff marked with (NGI) in the description, especially Manual_Block, Run_Freely, Equip_2nd_Weapon and QuickSpell_Hotkeys)



To no one specifically:
Manual_Block code is even more of a mess at the moment, but I wanted to get feedback on if this is really the sort of thing being asked for. I'm aware of some issues with it, but feel free to report anything that seems wrong with it; I won't give you a hard time if it's something I already noticed.

Note that Blocking_Drains_Stamina is Off by default.

hmsong

  • Sr. Member
  • ****
  • Posts: 360
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1128 on: January 06, 2020, 10:12:18 pm »
Wow.

Yes, this type of manual block is exactly what I wanted.  I especially like that it drains the stamina after holding for a sec (in percentage, you hold the guard up to ~50%), before auto-disengage and recharging.  I see the bug -- if you manually disengage while the stamina is draining (ex: 80%), it goes up to 100%, then the stamina "resets" and recharges from 50% again, whereas if you hold it until it auto-disengages (~50%), it simply recharges.  In short, if you hold it longer than a sec (to start the drain), but not hold it all the way to auto-disengage, then the stamina recharge takes longer (and it shouldn't).  Well, I can't actually time it (too fast), but I slowed down the emulator to see how the percentage thing works.  Maybe in the real-time, the recharge takes the same time.

Second bug (?) is Speed Up.  You can hold up the guard forever in Speed Up state (awesome!! makes rather-useless Speed Up slightly more useful), but it's stuck on 99%.  Was this done on purpose to make sure the guard recharge gets activated after letting the guard down? (thereby preventing immediate sword swing after the guard, unless the player has good timing with the guard).  Good idea.

Using the same idea, do you think you can make Speed Up temporarily make the user able to run while tired?  Assuming [Turbo Mode] or [Run while Tired] is not activated.  I purposely turn that off, because it allows too much hit-and-run.  But Speed Up should allow that strategy.

A part of me wishes that Speed Up would temporarily eliminate Stamina usage altogether (basically Turbo mode, which would solve the things I mentioned above), but I have a feeling it would be almost impossible to program, since it needs to "go back" to stamina usage once Speed Up gets dispelled.  Nevermind that.  I just tried what it would be to use Turbo mode, and oh boy.  That would make Speed Up way too OP.  I much prefer if Speed Up just allows infinite guard and activates [run when tired].
« Last Edit: January 07, 2020, 06:17:04 am by hmsong »

Queue

  • Sr. Member
  • ****
  • Posts: 331
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1129 on: January 07, 2020, 09:24:31 pm »
There are a lot of things I need to deal with still, but here's some info:
- The momentary 100% display seems to be a bug with the vanilla code that calculates what numbers to show: the actual time spent recharging should be as expected (not sure if any vanilla action triggers this, but that doesn't mean it's not potentially faulty vanilla code)
- Currently I'm just using a hardcoded 50 exhaustion points... correct behavior would be based on the vanilla stamina calculation ((100 - agility) / 2 + 50); a naive approach would mean the higher your agility, the less maximum hold time for blocking, so I'll need to figure out a plan
- The Speed Up behavior wasn't exactly intentional, but I expected it (block adds extra exhaustion before stamina regen re-subtracts it): it's stuck at 99% simply due to the math involved (though I'm actually a little surprised it doesn't sit at 100%); I like your idea of making it intentional and since I intend to have blocking halt stamina regen instead of simply overwhelming it, I can add the Speed Up test within that code
- A bug you didn't seem to describe is if you hold block until full exhaustion (and it auto-disengages), after recharging, when you press block, it skips the short free period and instantly starts the stamina drain; you currently have to block and release before full exhaustion (and suffer stamina recharge) to clear this erroneous behavior

As for other thoughts on Speed Up:
- I'll see if it's possible to tie it to tired running, but no promises
- Glad you scaled back other ideas as that other stuff would've been a lot of work; Turbo Mode stuff being conditional would require hooking a lot of code to add that conditional behavior (whereas Turbo Mode currently simply overwrites vanilla behavior / code)

CVReynolds

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1130 on: January 08, 2020, 02:13:17 am »
First of all, I think this is a really good project. :3 I've been following it for about three months, but this is my first comment on it.

Now I want to ask: Are there any plans to fix the following?


1: Tropicallo's second Brambler spawns off-screen.

2: Boreal Face has Tropicallo's Bramblers instead of its own.

3: Metal Mantis doesn't turn its head though it was supposed to. Minor, I know. But it would be nice if it could follow its script as intended.

4: I might remember this wrong, but I remember that if you save at the inn with a buff/debuff on and turn the power off, the buff/debuff gets stuck on a character somehow and is hard to remove.


If not, I propose they'd be good additions to the project. :3

Also I think it would be nice to add the modest tastes version of Kethinov's weapons progression patch to the utility. The one that just adds the axe and glove orbs to the Tree Palace.
« Last Edit: January 08, 2020, 02:25:55 am by CVReynolds »

Queue

  • Sr. Member
  • ****
  • Posts: 331
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1131 on: January 08, 2020, 05:11:02 am »
1: It's been on my to do list since forever, just very low priority. There's clearly a flaw in the brambler spawning code, I've just never gotten around to looking at it.

2: There aren't separate brambler NPCs for the two plant bosses, nor is there space in the NPC table to add a separate version. A stat change (or whatever) for one or the other could be hardcoded in via the boss AI code probably, but that's non-trivial, so... it may happen someday.

3: "Supposed to" is arguable; there's unused art for the ant boss head looking to a side, and a dysfunctional animation script that probably would use it. So it would first require making a new boss animation that uses the unused art, then altering boss AI to play that new animation. All to show art that may have intentionally been cut.

4: That's worth looking into, but I'd need reproduction steps.

My responses probably sound churlish, but I actually appreciate the feedback. There's various bits of unused art in the game that if I had infinite time I'd love to give purpose to, and there are a couple that I've worked in over time, just haven't figured out everything.

By my count I've yet to import 14 of kethinov's hacks (and a handful aren't up-to-date with his most recent version). I'll tack that Weapons Progression Balance variant onto the list.

CVReynolds

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1132 on: January 08, 2020, 10:20:53 am »
Not churlish-sounding at all. No worries. :3 I'm actually happy to get a reply.

1: Okay. I look forward to it happening whenever it does.

2: Sorry for the mistake. I remembered reading it was a bug. But I don't remember where I read that.

3: Gotcha. And I actually agree. I just thought there was an obvious bug to fix there, but if not, well...

4: That's great. Here's how I remember it: Go to an inn and cast a spell (speed-up, wall, etc) on yourself. Then save at the inn and turn the power off. When you reload the file, the spells are still on but their removal conditions haven't been saved. I remember it happening a couple of times to me in the past. But it's been years and I always leave open the possibility of being mistaken, of course. But there are a few topics talking about it on GameFAQs at least.

Looking forward to the continued updates. :3

hmsong

  • Sr. Member
  • ****
  • Posts: 360
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1133 on: January 08, 2020, 06:07:02 pm »
@CVReynolds

Well, as for #4, if Queue completes the Dispel Inn, then it would solve that problem, since the save happens AFTER the heal.

As for the Kethinov's weapons progression patch (one that only has the two missing orbs), you can simply make the ROM file with Turbo ZPS, then use kethinov's modest patch afterwards (well, I'm sure you're already doing that).  Works great, since I used it myself before.  He was kind enough to make it due to my request.  Now, thanks to Queue and his teachings, I made my own "patch" for the ZPS codes for the missing orbs (I also created numerous others too, which are all in the Turbo pack, thanks to them and zoolgremlin).  I purposely didn't post my orb patch here, because it would be disrespectful to kethinov, since he's the original creator for the modest taste patch.

CVReynolds

  • Jr. Member
  • **
  • Posts: 18
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1134 on: January 09, 2020, 12:30:49 am »
Indeed Dispel Inn sounds good. But my understanding is you don't need to stay at the inn to trigger the bug (as mentioned in #4). Saving there alone will trigger it. So Dispel Inn would only partially fix the problem. Possibly it doesn't even need to be an inn. It could be a Neko save as well. Perhaps I'll get a save file and do some testing later.

And yep. I was using Kethinov's modest patch after the Turbo patcher and hoping for the best. :3

hmsong

  • Sr. Member
  • ****
  • Posts: 360
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1135 on: January 09, 2020, 02:48:43 am »
I tried to reproduce the #4 bug, but I couldn't get it to work.  It wore off naturally.  Sure, when you load up, you are buffed, but it wears off.  Lucid Barrier and Wall do not wear off though, because they are supposed to stay with you until the "barrier HP" gets worn off by attacks/magic (this happens even without the save part).

January 09, 2020, 09:23:18 am - (Auto Merged - Double Posts are not allowed before 7 days.)

I doubt this was intentional, so I'm reporting this as a bug:

When using [_Run_Requires_D-Pad], if you get Confused, the running doesn't work well.  In addition to you having to press the run button again, you cannot change the direction of the run, even though [Run_Freely] is active.

Oh, and as mentioned before (a while ago), magic recharge with two-part "fireball" animations (ex: sabers, fireball, air blast, moon energy) still take a long time, since the recharge time resets from the last "fireball".  While I don't personally use this (I use spell pauses the game, although I may change my mind in the future), I'm aware that this is a very popular patch.  I'm sure it's already on your to-do list, but I'm mentioning it, just in case.

And speaking of [spell pauses the game], for some reason, it doesn't seem to pause the bosses (unless the boss is the target, in which case, it pauses them too).  I checked with vanilla, and indeed, Lv9 magic doesn't pause the bosses either.  That just makes Lv9 magic even worse than it already was.  Would you be able to fix that?
« Last Edit: January 10, 2020, 03:22:27 am by hmsong »

mrjane

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1136 on: January 10, 2020, 11:23:41 am »
So, I'm trying to fight the Mana Beast, but despite having both the girl and the sprite cast Mana Sword on the Boy, I can't seem to do any damage. No matter what charge attack I use, it's always 0 damage. Is this a bug? Or am I missing something?

hmsong

  • Sr. Member
  • ****
  • Posts: 360
    • View Profile
Re: Secret of Mana, Turbo - Beta 200106
« Reply #1137 on: January 10, 2020, 07:07:45 pm »
So, I'm trying to fight the Mana Beast, but despite having both the girl and the sprite cast Mana Sword on the Boy, I can't seem to do any damage. No matter what charge attack I use, it's always 0 damage. Is this a bug? Or am I missing something?

I don't know which version you're using, but the most recent version works just fine.

Queue

  • Sr. Member
  • ****
  • Posts: 331
    • View Profile
Re: Secret of Mana, Turbo - Beta 200110
« Reply #1138 on: January 10, 2020, 09:49:50 pm »
Version 2020-01-10:
https://ufile.io/r307ihms

Changes:
- Implemented Bug_Fixes\Second_Brambler_Position_Fix

Technical Changes:
- Added symbols for all 65816 instructions the ZPS assembler supports (useful as both a reference and for writing inline-able code chunks)
- Finished inlining all shared helper functions
- Rewrote isPlayerLocked(A)
- Minor optimizations



No further work on Manual Block yet, but I got through the helper function cleanup I'd been needing to do.

Ended up curious about the brambler bug and looked into it for a change of pace. It was a near textbook example of an easily made mistake when programming in assembly:
1) load variable 1 in register A
2) write register A to variable 2
3) copy register A to register X (instead of explicitly loading variable 1 in register X) to save a byte
-- later added a new load and store between steps 2 and 3, so the wrong value gets copied into register X

hmsong, Run_Freely is supposed to be affected by confusion, but I don't recall how I intended it to affect Run_Requires_D-Pad; I'll need to take a look.

I do recall the Magic Recharging timing issue for projectile-style spells, but it's just not something I've ever gotten to. Since Magic Recharging is one of zhaDe's NGI features, I don't know the exact specifics of how it works since I didn't make it, so it's a big time investment to investigate, let alone do something about. On the to do list, so, someday.

Regarding Spells_Pause_Gameplay, hm, that's rather interesting, I wonder why that behavior varies for bosses... the special level 9 spell animations, like the fireball serpent, or fire bouquet, or evil gate, surely must still pause. I'm hoping this is an easy fix and just a second bit of boss-specific spell code that needs patching. Glad you spotted it though.

CVReynolds, I haven't spotted any issues with buff state after a load. I really need specifics on what isn't working as expected and how specifically to trigger it if I'm to fix it.

Got the second brambler's spawn position fixed though. I only really tested on Boreal Face, but can't image it'll be any different for Tropicallo. Famous last words...

mrjane, like hmsong implied, that should be a side effect of Balance\Bonus_Weapon_Damage\Strong_Element_Immunity that was fixed in version 191216.
« Last Edit: January 10, 2020, 11:57:04 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 360
    • View Profile
Re: Secret of Mana, Turbo - Beta 200110
« Reply #1139 on: January 11, 2020, 05:57:07 am »
Ahh.  So confusion is supposed to affect the direction change in the middle of the run.  I didn't know that.  I thought it was only supposed to affect the direction of the run, not disable the ability to turn.  Got it.

It's not just Spells_Pause_Gameplay.  This bug affected vanilla too.  For example, if you attack the boss with Lv9 Fireball (fire snake), then it'll freeze the boss (before the snake connects), since he's the target.  But if I were to cast Lv9 Stone Saber on one of my teammates, then the boss will be moving just fine, while the rest of my teammates will freeze.  I'm not sure how it affects bosses with multiple targets (Wall bosses, Brambler bosses).