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

Author Topic: Secret of Mana, Turbo - Beta 191210  (Read 136379 times)

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #920 on: November 11, 2019, 03:51:46 pm »
Okay, so here's what I propose for a data-driven Wall bypass for inclusion in IPS patches:
Code: [Select]
@OFF $D04CB3 ' 0x104CB3
BIT $1842 ' target type
BVS $EA ' $4CA2
BRA $01 ' $4CBB
NOP
LDA+Y $E170 ' CAST_SPELL_ID
Code: [Select]
@OFF $D0DAEB ' 0x10DAEB
LDA #40 ' Spell.Target.BoyWithSword
CMP $1842 ' target type
BNE $0F ' $DB01

The first change makes target type bit 0x40 bypass Wall, but leaves the hardcoded Dispel Magic test; while it's slightly inelegant, it avoids conflicts with Turbo spell changes to Dispel Magic (because they do happen to change its target type =P), so that any IPS patches could be applied either before or after Turbo and still work / not conflict.

The second change makes the "boy with sword" target type explicitly 0x40, instead of bit 0x40.

The idea would be any spell hack that wants to bypass Wall would include the above code; they'd all write the same thing to the same two spots, so no conflict. It wouldn't allow for making Dispel Magic not bypass Wall, but tough cookies, this way means no conflicts with patches that do change Dispel Magic otherwise.

(Edit: the above does not work as-is in ZPS due to a shortcoming of ZPS BVS instruction support; what's actually in the Turbo ZPS will work, of course.)
« Last Edit: November 11, 2019, 04:06:47 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #921 on: November 11, 2019, 05:47:43 pm »
I don't quite get how it would work, but I suppose I'll get it once it comes out and I can experiment.

Having said that, "Boy with Sword"... isn't that required for Mana Magic?  If that's being replaced, then I suppose Mana Magic can now target anyone, or something?

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #922 on: November 11, 2019, 06:58:38 pm »
Nothing will change regarding Mana Magic; while my description may have been confusing, the point was that the changes preserve the "boy with sword" targeting behavior.

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #923 on: November 11, 2019, 07:58:48 pm »
Ah.  Great.  Looking forward to this.

Also, will you be opening up S. of Kakkara desert?  Or is it just not particularly worth the time?  I know there's some scripted events, not to mention the map loops, which may complicate things.  And it's not like it brings anything to the table (no new enemies, no shortcuts, etc).  I just thought it would be neat, since Desert is so big (the biggest area in the game, probably), and as someone (was it you?) mentioned, the enemy varieties are so few in the accessible parts of the desert.

EDIT:  Cross that.  There is Sand Stinger there.
« Last Edit: November 11, 2019, 10:57:05 pm by hmsong »

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #924 on: November 12, 2019, 07:30:14 pm »
hmsong, I've been messing with the desert on and off. Have it to the point where landing in the southeast puts you in the maze (on various screens depending on where you land), the entrance screen no longer ejects you, and going to the sandship does eject you back to the normal desert.

There's an event on the screen south of the sandship where the characters complain about being near death that plays every time you enter it that I haven't dealt with and would make sense to not repeat.

Stardust Herb may not make it in before the next release; I'm nearing my one week upload deadline and haven't gotten to it yet.

kethinov, any objection to me having some No Missable Monster changes omitted if certain other features are enabled that provide the monsters elsewhere? Namely, Sand Stinger if Revisit_Kakkara_Desert is On, Emberman if Day_Night_Cycle is On, the Werewolves if Day_Night_Cycle is On, etc.

Similarly, what are your thoughts on splitting the "out of bounds" enemies to a separate feature? Or the repositioned monsters? I assume you left the Ghost in the Mana Fortress because it's not stuck like the Whimper in the same spot is?

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #925 on: November 12, 2019, 08:14:35 pm »
@Queue

I figured the desert skit will be a problem.  Heh.

No hurry about Stardust Herb.  I'll just be glad to see it in the package at some point.

Will there be Wall-pierce in the next release?

About the No_Missable_Monsters, how about also omitting Emberman/Magic Book/Dark Ninja if Emperor Gate is on?

Also, what's this about "deadline"?  Is this something you set yourself, or is RHDN forcing you or something?
« Last Edit: November 12, 2019, 08:28:10 pm by hmsong »

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #926 on: November 12, 2019, 08:54:15 pm »
Yeah, the Wall bypass is ready to go.

For the removed castle gate, same sort of idea, just want kethinov's feedback. If he wants No Missable Monsters provided as-is that's fine with me, but if he's okay with me setting up what I see as compatibility fixups so that it's only stuff not provided by other features, that'd be my preferred result.

I inquired about the out of bounds monsters just to give more granular user control, but again, just if he's fine with it. Same with the relocated / tweaked ones.

The deadline is self-imposed. The website I use for the download link lets me specify an expiration on the file, and I set it to 7 days, to compel myself to keep uploading new versions. Otherwise I'd potentially keep putting it off and only upload a new version every few months.

kethinov

  • Full Member
  • ***
  • Posts: 109
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #927 on: November 12, 2019, 10:11:26 pm »
Updated hack: Alternate Karon: Unused NPC variant will now wander, displaying more previously unused graphics. http://www.romhacking.net/hacks/4546/

Updated hack: Remove Empire Castle Gate Permanently: King Truffle will now wander when he rescues you, displaying previously unseen walking frames. http://www.romhacking.net/hacks/4549/

Question for Queue:

I'm working on a new hack that will permanently hide the textbox borders and background (and remove the Window Edit screen) so that all text is just free floating. I have a working prototype that accomplishes this by editing a couple dozen story events, but it occurs to me that it would probably be cleaner to just edit event command 50 and rig the code that sniffs for event flag F8 being set to 1 to always be true rather than conditionally true. This would prevent the need to edit story events and improve compatibility with other hacks.

The trouble is I've spent a fair amount of time with the SNES debugger now and I can't for the life of me locate where that code is. To be honest I'm not even sure there is code in event command 50 (or the subroutines that process text) that sniffs for this, but I presume there must be since several story events alter that event flag to set dialog box visibility before calling event command 50.

Notably I already explored just creating a transparent dialog box option in the Window Edit menu, but this is infeasible because the dialog box opening animation still renders, thus my interest in permanently setting event flag F8 to 1 (my current approach) or short-circuiting the check in event command 50 to always think it is 1 (probably the better approach).

I could release the version I have now, but I have a feeling if I do that, you will examine the code then say WTF and be like "yo there is a 1 byte solution you could've used," so I figured I'd just get that out of the way now. What do you think? Should I release the version that edits a dozen events? Or is there a better way?

Hmm.  Why is Neko (in Mana Fortress before Dark Lich) floating in mid-air?  I can't even talk to him.  Or is this happening because of combining with Turbo patch?

My mistake. Fixes available:

Neko and Watts in the Mana Fortress 1.4: http://www.romhacking.net/hacks/4413/

Equipment Progression Balance 1.6: http://www.romhacking.net/hacks/4422/

I like your new Luka's monster thing.  I wish she also had Shellblast/Turtlance too, instead of just Water Thug/Ice Thug (you receive Spear from Luka after all, and Javelin is from Undine).  In any case, the current one is good too, no doubt.

Good idea, I'll work on it.

Have you thought about combining No Missable Monsters with Emperor Castle Gate patch?  That would also make Dark Ninja, Magic Book, and Emberman to be unnecessary for No Missable Monsters.

Yeah, I thought about that. But it seemed wrong to me to try to do too much in one hack. I can conceive of groups of people that would like one but not the other, so I felt it appropriate to keep them separate, despite some small overlap.

I know you wanted Evil Sword and Polter Chair to be next to Watts, but I thought it would be neat to have them right outside the Witch's castle, instead of the forest.  After all, she needs some kind of defense in her castle (and the ending makes us think that she can still control non-sentient monsters).  And maybe Chess Knight too (it is supposed to be a "Knight").

Not in favor of that. When the castle is cleared, it's implied that Elinee actually can't control any of those monsters anymore because she doesn't have the magical herbs for it anymore. That's why they all disappear from inside and outside of her castle. The appearance of the Polter Chairs in the ending could be interpreted as Elinee finally getting her magic back after the defeat of Thanatos, who may or may not have corrupted her magical herb supply to get her under his influence. Moreover, even if Elinee did have her magic, she wouldn't sanction her enchanted chairs attacking you after you clear the castle, as we're all friends now. And she never had any association with the Chess Knights, so that makes even less sense.

I do recognize that the appearance of the Polter Chair and especially the Evil Sword in the forest is quite contrived too though, but I decided it was worth doing both because it was funny to give Watts a chair and a sword (a mini-armory?) that appear to have been haunted by the Haunted Forest. And in the scenario when you play without Watts in the Haunted Forest, but keep "No Missable Monsters" applied, it's still entirely plausible for some of Elinee's haunted creatures to have escaped the castle and remain hostile because they're out of her range or something. Plus it is a haunted forest, after all. ;)

Plus since the chair and sword are both decoy-style enemies (like the Lullabuds), it makes sense to pair them regardless of Watts' presence. And if they're gonna be anywhere in the forest itself, the least bad place for them I think is next to the whip post. Aside from the obvious utility of how often the whip post gets used making it the main attraction, the area is also the most obviously man-made infrastructure in the forest, so it fits the theme of that part of the forest best since chairs and swords are also man-made. Who knows, maybe the sword is leftover gear from Dyluck's ill-fated venture into the forest that happened to become haunted on the way after an encounter with an escaped Polter Chair, then the two haunted items teamed up to decoy troll any passerbys forevermore...

@kethinov, @Queue

Could you also add the following for Stardust Herb?  I realized that the final Neko can be used rather often (Underground City, Grand Palace, Pure Land, Mana Fortress):

If you send me an IPS with the new changes I can update the RHDN version.

Okay, so here's what I propose for a data-driven Wall bypass for inclusion in IPS patches:
Code: [Select]
@OFF $D04CB3 ' 0x104CB3
BIT $1842 ' target type
BVS $EA ' $4CA2
BRA $01 ' $4CBB
NOP
LDA+Y $E170 ' CAST_SPELL_ID
Code: [Select]
@OFF $D0DAEB ' 0x10DAEB
LDA #40 ' Spell.Target.BoyWithSword
CMP $1842 ' target type
BNE $0F ' $DB01

The first change makes target type bit 0x40 bypass Wall, but leaves the hardcoded Dispel Magic test; while it's slightly inelegant, it avoids conflicts with Turbo spell changes to Dispel Magic (because they do happen to change its target type =P), so that any IPS patches could be applied either before or after Turbo and still work / not conflict.

The second change makes the "boy with sword" target type explicitly 0x40, instead of bit 0x40.

The idea would be any spell hack that wants to bypass Wall would include the above code; they'd all write the same thing to the same two spots, so no conflict. It wouldn't allow for making Dispel Magic not bypass Wall, but tough cookies, this way means no conflicts with patches that do change Dispel Magic otherwise.

(Edit: the above does not work as-is in ZPS due to a shortcoming of ZPS BVS instruction support; what's actually in the Turbo ZPS will work, of course.)

I'll update Suicide Burst to use this technique instead of the manual fork.

hmsong, I've been messing with the desert on and off. Have it to the point where landing in the southeast puts you in the maze (on various screens depending on where you land), the entrance screen no longer ejects you, and going to the sandship does eject you back to the normal desert.

There's an event on the screen south of the sandship where the characters complain about being near death that plays every time you enter it that I haven't dealt with and would make sense to not repeat.

That sounds cool. I had been looking into this as well, but I couldn't decide on a method of re-entry. My first instinct was to make the screen which takes you to the sandship take you to one of the post-sandship desert screens after you clear the sandship to connect both desert map grids into a single large desert grid, but that would've required editing map pieces to create a new south exit somewhere and door logic in a way that made my eyes glaze over so I gave up pretty quickly.

I hadn't considered the angle of just keeping them separate map complexes and letting Flammie land on the "old" maps. Less elegant, but better than nothing. Still being able to enter the sandship entrance map but just getting kicked out for some reason seems kinda hacky to me though in the way that revisiting Goblin Village gets people asking questions like "why do you enter from the south instead of the east" and "wait, where's the exit?" and of course the several questions we've seen now about the lack of compatibility with Day/Night Cycle. Hopefully you come up with a better answer to the doors problem than I did...

kethinov, any objection to me having some No Missable Monster changes omitted if certain other features are enabled that provide the monsters elsewhere? Namely, Sand Stinger if Revisit_Kakkara_Desert is On, Emberman if Day_Night_Cycle is On, the Werewolves if Day_Night_Cycle is On, etc.

Assuming no hard ZPS dependency or other problematic side effects described above, I think simply making Revisit Kakkara Desert part of No Missable Monsters would be a good way to eliminate needing to add a Sand Stinger.

Conditioning the reappearance of certain monsters based on whether Day/Night Cycle is applied makes sense too. I have no objection to that.

Specifically, this would eliminate the need to reintroduce:

- Werewolf: Haunted Forest.
- Sand Stinger: Kakkara Desert. (Possibly covered by Revisit Kakkara Desert depending on whether or not the design is elegant enough to graduate from experimental status.)
- Emberman: Kakkara Desert.

Possibly others... The remaining list from No Missable Monsters is:

- Goblin: Gaia's Navel.
- Chess Knight: Matango Caves.
- Mystic Book: Ice Country.
- Specter: Ice Country.
- Robin Foot: Kakkara Desert.
- Dark Funk: Kakkara Desert.
- Red Drop: Moon Palace.
- Dark Ninja: Mana Fortress.
- Tomato Man: Mana Fortress.
- Wizard Eye: Mana Fortress.
- Ghost: Mana Fortress.

Are any of those possible to eliminate via Day/Night cycle as well?

I assume you left the Ghost in the Mana Fortress because it's not stuck like the Whimper in the same spot is?

Yes. I disliked an unreachable Whimper, especially given that he has a weapon orb chest if you haven't gotten the orb yet. Killing him and seeing a chest spawn on that little island is quite cringeworthy. Plus he's not really a threat over there anyway. But the Ghost can follow you around, so I liked that replacement regardless of Pure Land access.

Careful eyes will notice I got rid of another inconveniently located monster by replacing him with a Neko in Neko and Watts in the Mana Fortress. (The first of the two Mana Fortress Nekos.)

Similarly, what are your thoughts on splitting the "out of bounds" enemies to a separate feature? Or the repositioned monsters?

I thought about that but wasn't sure why anyone would want to sever these things from each other.

Reintroducing missable monsters, restoring out of bounds enemies, and repositioning badly placed monsters all strike me as both 1. pretty uncontroversial things basically everyone could agree should be on by default (so long as the placements are tasteful) and 2. conceptually serving the same purpose: out of bounds monsters are obviously missable and badly positioned monsters are easily missed, thus fixing this stuff strikes me as part of the mandate of an effort to make monsters no longer missable. I too am wary of mission creep conflating too much stuff into one hack, but I don't think this is an example of that.
« Last Edit: November 13, 2019, 12:22:19 am by kethinov »

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #928 on: November 13, 2019, 01:06:52 am »
@kethinov

Okay, sent.

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #929 on: November 13, 2019, 01:14:51 am »
"yo there is a 8 byte solution you could've used,"

0x00065B
BEQ $03 ' $0660
SEP #00 ' 2-byte NOP

0x000679
BEQ $03 ' $067E
SEP #00

0x0007E3 ' closing
BEQ $14 ' $07F9
SEP #00

0x000946 ' opening
BEQ $1A ' $0962
SEP #00

The first two are related to uhm... maybe textbox backgrounds?, the third is when the text box is closing, the fourth is when opening. The instruction prior to each is LDA $CFF8.

I set a read breakpoint on $7ECFF8 and talked to an NPC, then opened the ring menu, then cast a spell to round out the test. Also, searching the executable for F8CF didn't seem to yield anything in code beyond those 4; this was just a couple minutes of fiddling, but hopefully that's everything. Something more complex could be done if you want to hide the textbox for dialog and not the ring menu (or combat messages, etc.), e.g. change the byte checked from $7ECFF8 to something relevant to current text context.



Day_Night_Cycle covers (for otherwise missable enemies, I think):
Werewolf (Blat)
Emberman (Mad Mallard)
Imp (Bomb Bee)
Specter (Shellblast)

I think I was considering changing one or two more, but... too many things to do and never got to it.

I was trying to keep the Day Night stuff subtle and fun (except the werewolves, intentionally evil there), rather than purpose-driven, so don't want to sacrifice that just to tick things off a list, but I'm open to other suggestions (and a reminder of past suggestions).



Regarding Revisit Kakkara Desert, it won't have any ZPS dependency, and so far I've kept the event changes simple and compact as well. The teleport out is a copy of vanilla behavior (if you land in the right spot in the desert, it does this), just moved from the maze entrance screen to the sandship screen. There is a logical unused door (1A4) I could hijack if I additionally connected a walking route, but that would drastically up the complexity, so we'll see if I set aside the time to pursue that. I should have the current approach cleaned up enough for a release tomorrow so there's at least something to test.

The next tedious thing I want to do is fix a Pure Land tileset issue (dandelions under leafy overlay shadows look wrong), that is a nightmare of a thing to fix and I expect to take me like a week, but I keep delaying working on it since it'll take so long (don't really care that the result is insubstantial). Did you know tile definition data isn't byte-aligned? It's horrible. Also, no one seems to have ever made a generic arbitrary length bit-pattern searching utility, which seems crazy, so I may need to write one to make this less horrible.



Quote from: kethinov
I too am wary of mission creep conflating too much stuff into one hack, but I don't think this is an example of that.
Fair enough, I'm convinced.



Edit: Oh right, and I meant to mention the event script parser has at least 3 different parts to it (depending on... stuff, like if the ending credits ascii crawl is active). I assume you were looking around $C1E8EF and $C1F27A, but some of the parsing happens near $C001A9 (there you should see some comparisons against 0x7D to see if it should enter ascii mode, 0x50 for textbox junk, etc.). Not that it's relevant, but the ascii mode stuff should all be at $CC0900; I've never scrutinized what it does, just noted that it crashed on me a lot when I was mapping out event command codes.
« Last Edit: November 13, 2019, 02:01:32 am by Queue »

kethinov

  • Full Member
  • ***
  • Posts: 109
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #930 on: November 13, 2019, 02:44:10 am »
Stardust Herb updated: http://www.romhacking.net/hacks/4781/

I was trying to keep the Day Night stuff subtle and fun (except the werewolves, intentionally evil there), rather than purpose-driven, so don't want to sacrifice that just to tick things off a list, but I'm open to other suggestions (and a reminder of past suggestions).

I completely agree that Day/Night Cycle shouldn't be abused to restore missing monsters, but to the extent that it already does that as a byproduct of its existing choices, I think it's sufficient to scale back some of the restorations in No Missable Monsters wherever there is overlap and both hacks are applied. As you said before, the choice of which monsters come out at night should be thematically appropriate for the region. Trying to wedge stuff in just to make stuff not missable would be awkward, so yeah, no need to do that.

On a related note the Grave Bats in Upperland is pretty vicious too. I think they're a lot bigger of an intentionally evil choice than the Werewolves since when you first visit Upperland, if it's night time you're likely to get wiped out really fast.

"yo there is a 8 byte solution you could've used,"

lol still fairly facepalmy. I banged my head against the debugger for hours and you appear to have solved it in five minutes.

That solution works well. I ran some dialog events and boss battles and didn't see any side effects.

I also removed the "Window Edit" screen as it is no longer relevant.

No text boxes looks surprisingly good. I'm gonna apply this in my next full playthrough to see whether I prefer Better Default Text Boxes or No Text Boxes. I lean towards the latter just because it declutters the screen so much to make more room for the artwork and the action. It also makes buying stuff from shops much less claustrophobic. And I think it pairs well with Turbo HUD. Minimalism!

Download: http://www.romhacking.net/hacks/4791/

« Last Edit: November 13, 2019, 12:28:06 pm by kethinov »

Mr X

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #931 on: November 13, 2019, 10:34:29 am »
Kinda wish SoM had the same feature of enemy levels as SD3, where an early game enemy could still appear later on the game as a higher level enemy. Would allow for more variety of monsters without being too unfair or too easy in terms of difficulty.

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191106
« Reply #932 on: November 13, 2019, 02:36:17 pm »
Version 2019-11-13:
https://ufile.io/qvmd8zr6

Changes:
- Implemented Magic\Data_Driven_Wall_Bypass and relevant constants (e.g. Spell.Target.Enemies.WallBypass)
- Removed Spell_System_Extensions dependency from Comprehensive_Dispel
- Added Balance\Fire_Gigas_-_Flame_Saber
- Added kethinov's Harder_Final_Boss v1.3
- Fixed a crash bug with 1/3, 2/3 and 3/4 multipliers for Balance\Monster_Stat_Modifiers
- Added kethinov's Sad_Moogle_Village v1.0
- Added kethinov's Echoey_Matango_Caves v1.0
- Implemented Miscellaneous\Revisit_Kakkara_Desert
- Added kethinov's No_Missable_Monsters v2.0, notes for this after the main changelog
- Implemented Bug_Fixes\Far_Western_Todo
- Added kethinov's Dark_Lich_Head_Bang_Fix v1.0
- Minor additional Tidy Map treatment for Kakkara Desert
- Commented out Harder_Final_Boss changes that were included in Enemy_Stat_Changes; let me know if you want them forced back on hmsong, but since Harder_Final_Boss is now available in the patcher, the duplication seems unnecessary
- Fixed Magical Herb / Relocalized compatibility issue

Technical Changes:
- Slight rearrangement of some [Balance] section features
- Syntax change regarding high level if statement comments; "? {" became "'{" (this is related to custom syntax highlighting in the text editor I use)

- No Missable Monsters
I added compatibility stuff for Day_Night_Cycle monsters, and commented out the Sand Stinger (due to finishing, I hope, Revisit_Kakkara_Desert). I didn't finish importing the Revisit_Sunken_Continent script change; I do want the bridge to be automatic, but I got part way through and threw up my hands in exhaustion. I don't think I left anything in a broken state.

- Revisit_Kakkara_Desert
Definitely want testing and feedback on this. Had to do lots of stupid things to events to get it working (ended up fitting it all within the vanilla desert events' space and numbering though, so that's swell), and am hoping I didn't break the storyline stuff that happens when you first launch into the desert. Did end up adding a walking path in addition to 4 southeast desert landable regions being set to send you into the maze (instead of 1 that then auto-ejects you).



Oh, right, Grave Bats. So that was one part experiment, one part "they weren't hard when I tested" probably because something about Turbo Mode makes their AI not work well. They're way too high level for what they replace, but since they basically weren't attacking I thought they were harmless. Should probably review that choice, as it actually wasn't meant to be intentionally deadly.

It sounds like Mop (who makes the Secret of Mana randomizer called "Ancient Cave") designed variable level enemies. From what I understand (I haven't looked at the implementation, just read some of what they wrote about it), they had to replace the static enemy stats entirely, and instead figured out what enemies had what primary stats, then designed some formulas to calculate intended stats based on the desired level, so that enemies would level with you and have relevant stats. Seeing as its main feature is various randomizations to apply to the game, depending on settings, this should also allow for early game enemies showing up... wherever.

Part of my current plan for New Game Plus, for whenever I get to work on it more, is to bring enemies up to a baseline, so that effectively all enemies are Mana Fortress enemy power. Once I have that worked out, it would be possible to randomize, in some capacity, which enemies you encounter where (on a NG+ run).



Edit: Added new version upload to post.
« Last Edit: November 13, 2019, 08:35:22 pm by Queue »

hmsong

  • Sr. Member
  • ****
  • Posts: 266
    • View Profile
Re: Secret of Mana, Turbo - Beta 191113
« Reply #933 on: November 13, 2019, 11:21:02 pm »
@Queue

It's alright with me to take out the Harder Final Boss stat that I copied from Kethinov.  But please leave it in the code section with <'> (as you have done), so that people who want the stat but not the behavior have that option (they'll have to manually enable it from the code).

When you include Stardust Herb patch into the package, please make it disable [Boy_Dislikes_Nuts].  Or maybe use the IF function.  For the obvious reason.

Will you be updating Neko Mana Fortress?  It moves Neko to the empty section before Dark Lich (former Mech Rider 3 room).

I will try Kakkara Desert section and give you the feedback soon.

I will also try out the Wall Bypass and give you the feedback (I may also update some of my previous patches to make the adjustments).

As always, thank you.

EDIT:  Okay, how do you use Wall Bypass?  I see the [&(mods)\Magic\WallBypass\.asm] section, but I don't know how to turn it on.  Or is it on by default?  I don't get it.
« Last Edit: November 14, 2019, 12:06:32 am by hmsong »

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191113
« Reply #934 on: November 14, 2019, 02:32:49 am »
Quick response regarding Wall Bypass. Currently, it's on as long as Spell_System_Extensions is On, but doesn't actually depend on it. Once I add kethinov's Burst hack, either it OR Spell_System_Extensions being On will make it active, etc.

Mr X

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: Secret of Mana, Turbo - Beta 191113
« Reply #935 on: November 14, 2019, 11:27:40 am »
Hm if you change the mp of the bosses it sets their mp to 0, for monsters it seems to be no issue tho.

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191113
« Reply #936 on: November 14, 2019, 02:14:13 pm »
It's a two-part problem.

They don't actually have zero mana, they have some amount larger than Analyzer can display. I suspect for mana it's anything over 99, but I've not checked. I guess it's time I finally get Analyzer fixed up.

The second problem, is if they have more than 127 mana, some spell logic treats that as a negative number, in which case they effectively have none.

I'll see if I can get something worked out quickly for this, either capping their max mana at 127 (instead of 255), or altering logic so 128-255 is valid. I want to do the latter, but not sure yet if it's feasible.

Mr X

  • Full Member
  • ***
  • Posts: 128
    • View Profile
Re: Secret of Mana, Turbo - Beta 191113
« Reply #937 on: November 14, 2019, 02:55:00 pm »
It's a two-part problem.

They don't actually have zero mana, they have some amount larger than Analyzer can display. I suspect for mana it's anything over 99, but I've not checked. I guess it's time I finally get Analyzer fixed up.

The second problem, is if they have more than 127 mana, some spell logic treats that as a negative number, in which case they effectively have none.

I'll see if I can get something worked out quickly for this, either capping their max mana at 127 (instead of 255), or altering logic so 128-255 is valid. I want to do the latter, but not sure yet if it's feasible.

They aren't able to cast any spells while their mp is 0.

Queue

  • Full Member
  • ***
  • Posts: 243
    • View Profile
Re: Secret of Mana, Turbo - Beta 191113
« Reply #938 on: November 14, 2019, 03:58:39 pm »
Version 2019-11-14:
https://ufile.io/bwqzz04p

Changes:
- Added kethinov's No Text Boxes v1.0
- Implemented Graphics\Fancy_Text_Box_Transitions
- Implemented Bug_Fixes\Big_Health_And_Mana_Support; lets enemies with more than 127 mana cast spells and fixes Analyzer info readouts

Technical Changes:
- Compatibility fixup for Better_CPU_Allies for No Text Boxes (related to modifying the options ring menu)



I finished analyzing the spell casting code; it loads the caster's current mana, subtracts the spell's mana cost, then checks if the result was negative.

If the caster has more than 127 mana and the result after subtraction is 128 - 255, treated as a signed number, it's seen as negative (which fails to cast, the same as if they have 0). So for example: 200 - 3 = 197 = -59, so the spell cast fails.

Analyzer shows mana of 138 or greater as 0, and anything above 99 as having a glitchy first digit (100 mana = ".0", for example, where that period is "10"). It also chokes on large 16-bit values, as seen with 0 HP Mana Beast, etc.

I've got fixes for all of this, but want to fix up Analyzer element messages while I'm looking at this code, then some quick testing then I'll upload.



Edit: Added new version upload to this post.
« Last Edit: November 14, 2019, 05:59:10 pm by Queue »

zoolgremlin

  • RHDN Patreon Supporter!
  • Full Member
  • *****
  • Posts: 130
  • Steam Profile Name: keeperofcastlegreydusk
    • View Profile
Re: Secret of Mana, Turbo - Beta 191114
« Reply #939 on: November 14, 2019, 07:50:27 pm »
Hi guys, once again it's been a while since I was here, I know.  Er... sorry about that.  I needed a bigger break than I thought, from thinking about this stuff, for my own peace of mind.  Haven't given up on my end of the Project, if I may still call it that.   :-[

Regarding just the most recent issue, with > 127 (or >= 138) MP, and the related Analyzer Message Event bug, I have seen that myself many times while test-driving kethinov's recent patches with Turbo version 191106.  I am preparing to put up reviews for those, but progress with that's been slower than I anticipated.  Anyway...

I was already certain that part/s of the Vanilla code treat the byte for MP, and the two bytes for HP, as signed integers.  Despite that not making an ounce of sense to me, but you could all guess that I would say that!   :laugh:

When I was actively checking this stuff out myself, mainly the Function for Analyzer, I was hoping I could fix it myself.  But while reading the code in the Disassembly Documentation, I found that despite all the annotations, I couldn't quite understand it well enough to fix it.  I've made a bit of progress with learning the tools and tricks of hacking, but definitely not that much.  A pity, but it's only been 2 1/2 months since I joined the Turbo discussion.  <sigh>  So I didn't comment about the issue again before now, figuring it could wait.  Was not expecting to see Boss AI crap itself on > 127 MP, but ah well.

Looks like your master hackery got it done, Queue.  Much appreciated, and many thanks for the two latest updates.  I am still testing out new versions of the Turbo ZPS as they come out, even if I'm not doing much else besides Archiving this thread at the moment.  Good to see you all again, by the way.  Will certainly let you know when some more progress is made with the GDrive Documents and stuff...  :beer:
« Last Edit: November 15, 2019, 12:13:01 pm by zoolgremlin »
If you try to fail, and succeed, what've you done?!