News:

11 March 2016 - Forum Rules

Main Menu

Secret of Mana, Turbo - Beta 230822

Started by Queue, January 31, 2019, 06:45:12 PM

Previous topic - Next topic

Queue

Are you enabling [VC_without_PCM] in the [Technical] section (near the very bottom of the list of feature checkboxes)? That should be applying Canoe-specific fixups to the ROM, and if the helper script is working as intended, also directly preparing an SFROM file.

I haven't tested on a SNES Classic in a while, so I may have broken things, but if that still works, I should probably label it more clearly.

teahouser

Actually the VC patch doesn't affect the gamma at all, it's an issue with Canoe and games with HD text enabled (like SoM and SD3). They usually end up with jacked up gamma brightness when played on Canoe that need to be patched back down to normal levels.
Quote from: Queue on April 24, 2019, 03:42:39 AM
Are you enabling [VC_without_PCM] in the [Technical] section (near the very bottom of the list of feature checkboxes)? That should be applying Canoe-specific fixups to the ROM, and if the helper script is working as intended, also directly preparing an SFROM file.

I haven't tested on a SNES Classic in a while, so I may have broken things, but if that still works, I should probably label it more clearly.

Queue

#122
Version 2019-04-26:
https://ufile.io/5wh0ma7p

Changes:
- Covered up a stray black pixel in the goblin village
- Tweak to turtle shell isle map cleanup; result is the same, but byte reorganizing is more sane if it needs adjusting in the future
- A couple FastROM adjustments
- A feature no one asked for, and probably only Timbo and maybe Kethinov will care about, and that I sorta regret doing because it was multiple hours of crazy tedium, even when using macros to automate the worst of it:
- 3bpp graphics decoding and re-encoding support
- - menu icons (items, spells, etc.)
- - damage numerals
- - weapons and projectiles
- - spells (including the mana spirit summons)

Example images:
Vanilla


Decoded


This lets you use a standard SNES sprite editor to make changes. The graphics are 3 bits per pixel, so you just need an editor that supports that. Working on the palettes is another matter, but generally much less of an issue than dealing with the screwy byte order SoM was using on these art assets.




teahouser, I'll get a chance to mess with an SNES Classic again eventually to double-check stuff, but my buddy and I had it working the same as the copy of SoM that came on the SNES Classic. We had the Virtual Console without PCM patch applied, and the (I forget the exact terms) ID number set to 10B0, and ID name set to WUP-JBXE. Without the VC patch, the high res screens didn't look right (letters were only rendering every other pixel, I assume because it wasn't actually rendering at a higher resolution), so it was necessary.

darthvaderx

Do you accept a suggestion? How about generating a log as readme.txt of all the modifications made in the rom?
And also the option to save and export a configuration log so you would not have to do everything manually every time a new update comes up, just set the new options added, what do you think?
See my hacks channel including some of my works:

https://www.youtube.com/user/MyWashington2/videos

Timbo

I definitely like the sprite rearrangement. Is Kethinov's 9th level weapons hack working with Relocalized yet?

maseter

There's a slight problem with the header:


The original mana rom has a ! instead of the 1 at that address, any idea what it sets?

Queue

#126
darthvaderx, it's a good suggestion, and something I've thought about, but not easy to do. I don't have the source code for the patcher, so making changes to it is pretty difficult and painful.

Timbo, everything available within Turbo's ZPS is compatibilized with anything else in the ZPS (unless I goofed up); as I add stuff I do any of the fixups necessary for stuff it conflicts with so... yes, Level 9 Weapons Progression Balance works with Relocalized.

That's usually why it takes more than 30 seconds to adds Kethinov's newer stuff because he often changes event scripts which are what need fixups for FuSoYa's VWF Edition and Relocalized. While he supports VWF Edition, it takes longer to integrate because they need conditionals wrapped around the VWF Edition specific bits (so they aren't included if Relocalized is enabled).

It's also a good idea to have the Orb_Overflow_Event bugfix if using Level 9 Weapons Progression Balance because I'm pretty sure there's a sequence of events in otherwise vanilla SoM that can lock up without it; something like visit the mana tree before beating Tasnica? I think that's possible. Maybe. At the very least it has no negative side effects even if it's unnecessary. I hit the bug somehow which is why I patched it, but no longer recall the circumstances and they could have been outside the range of normal gameplay.

maseter, that's not actually a problem. The ROM's internal name is 21 bytes long (if the name is shorter, you pad the unused bytes with ascii spaces). The "o" in Turbo is the last byte for the ROM's name. The emulator is reading in the internal name incorrectly and shouldn't be including the byte after the 21st name byte, regardless of what it is. That "1" (or "!") is data and just happens to be a valid ascii character. The 22nd byte in the ROM header dictates the ROM's type (LoROM, HiROM, SlowROM, FastROM, SA-1, Ex). 0x21 (ascii !) is vanilla SoM and indicates HiROM, 0x31 (ascii 1) is HiROM + FastROM. Blame your emulator for being braindead and attaching the byte that follows the ROM name to its name.

kethinov

Quote from: Queue on April 23, 2019, 10:41:50 PM
- [Revisit_Goblin_Village] promoted out of Experimental status; spent way too much time cleaning up the goblin village map, but now it's seamless and bugless; you can leave via the far upper left or right by walking into the trees (like when the girl rescues you)

I adore this! It has so much potential. I kind of want to explore expanding on this to make the huts enterable and add some goblin NPCs or something now. Such a charming hack.

Quote from: Queue on April 27, 2019, 04:31:24 PM
Timbo, everything available within Turbo's ZPS is compatibilized with anything else in the ZPS (unless I goofed up); as I add stuff I do any of the fixups necessary for stuff it conflicts with so... yes, Level 9 Weapons Progression Balance works with Relocalized.

That's usually why it takes more than 30 seconds to adds Kethinov's newer stuff because he often changes event scripts which are what need fixups for FuSoYa's VWF Edition and Relocalized. While he supports VWF Edition, it takes longer to integrate because they need conditionals wrapped around the VWF Edition specific bits (so they aren't included if Relocalized is enabled).

Ping me sometime with the specific fixes that are needed for Relocalized so I can update the standalone patches too. It'll help prevent me getting so many emails. ;)

Quote from: Queue on April 27, 2019, 04:31:24 PM
It's also a good idea to have the Orb_Overflow_Event bugfix if using Level 9 Weapons Progression Balance because I'm pretty sure there's a sequence of events in otherwise vanilla SoM that can lock up without it; something like visit the mana tree before beating Tasnica? I think that's possible. Maybe.

You can't visit the Mana Tree before beating Tasnica.

Queue

The way I altered the triggered event list and tiles in the Goblin Village will need a more comprehensive adjustment to reactivate the doors and give you control over what they do, but it's definitely possible (and not especially tough, though the left hut is less obvious due to map data compression). To add NPCs (or chests, etc) to the village itself may be a little involved, but if they're kept to new room interiors, probably not too bad.

I tried to keep the data in the ZPS file understandable, so I'll give a little walkthrough (using your No Music hack) of how I'd suggest finding the relevant data you'd want:

Open "SoM Turbo.######.zps" with your favorite text editor. It's a pretty big file now, so Notepad chugs on it a little, but still usable if you're patient.

Search for "by Kethinov" (I marked each imported patch with the author's name and their name for the patch, usually copied out of their readme) until you reach:
' Secret of Mana No Music 1.0
' by Kethinov        Apr 2019

It should be the first result as of when I wrote this.

Just below the authorship comment you'll see:
ASM <.asm>
FILE <VWF>
FILE <Reloc>

The unnamed ".asm" file is the Vanilla and general case patches (and usually what I mark up with comments the most thoroughly). VWF is the VWF Edition specific patches, and Reloc is the Relocalized-specific patches. To have a Relocalized compatible IPS, it will need to not have the VWF Edition fixups, since Relocalized overwrites VWF Edition data.

Scroll down a little to:
&(patches)\NoMusic\Reloc\.asm
Under that are the three relevant offsets (in SNES memory address format, $E12D0C = 0x212D0C as a file offset, since SoM is a HiROM so more or less you can just add 0xC00000 to raw file offsets to get the SNES memory address the ROM's data will be loaded at).

This is the whole No Music hack copied out of the ZPS for viewing here:
&(patches)\NoMusic
REQ [Audio]
REQ No_Music

' Secret of Mana No Music 1.0
' by Kethinov        Apr 2019

ASM <.asm>
FILE <VWF>
FILE <Reloc>
&(patches)\NoMusic\.asm

'[Play Sound / Music]
@OFF $C30181
'BEQ $15 ' $0198
BEQ $0A ' $018D

'[Event 0FC: Cannon Fire]
@OFF $C924B3
'RAW 40 02C8 00 CC ' music (Id: 02C8, Fade: 00, Volume: CC) Cannon Fire
RAW 01 0101 01 01 ' nop x5

'[Event 785: Earthquake Noise]
@OFF $CA9526
'RAW 40 0212 00 88 ' music (Id: 0212, Fade: 00, Volume: 88) Earthquake Noise
RAW 02 ' return
RAW 00 ' end

'[Event 78D: Waterfall Hiss]
@OFF $CA9564
'RAW 40 0222 0F 88 ' music (Id: 0222, Fade: 0F, Volume: 88) Waterfall Hiss
RAW 02 ' return
RAW 00 ' end

&(patches)\NoMusic\VWF
REQ [Text]
REQ VWF_Edition
IF Relocalized
REQ FALSE
ENDIF
ASM <.asm>
&(patches)\NoMusic\VWF\.asm

'[Event 0FC: Cannon Fire]
@OFF $E12CE1
RAW 01 0101 01 01

'[Event 785: Earthquake Noise]
@OFF $E2EFF3
RAW 02 00

'[Event 78D: Waterfall Hiss]
@OFF $E2F031
RAW 02 00

&(patches)\NoMusic\Reloc
REQ [Text]
REQ Relocalized
ASM <.asm>
&(patches)\NoMusic\Reloc\.asm

'sig 40 02C8 00 CC 31
'[Event 0FC: Cannon Fire]
@OFF $E12D0C
RAW 01 0101 01 01

'sig 40 0212 00 88 02
'[Event 785: Earthquake Noise]
@OFF $E2F0C5
RAW 02 00

'sig 40 0222 0F 88 02
'[Event 78D: Waterfall Hiss]
@OFF $E2F103
RAW 02 00


You could also uncheck everything except "[Text]" and "Relocalized" in the patcher, generate a patched ROM and rename it, then check "[Audio]" and "No Music" and generate a second patched ROM to then generate an IPS from (against that first renamed patched ROM). Haven't tested that specific combination, but as long as I didn't screw up, that should create a Relocalized 1.7 compatible IPS for No Music.

Timbo

If you are going to open up the goblin Village. Would it be possible to also open up are there areas of the game that get closed off, like the pure land?

Queue

Not 100% sure which "you" you mean, but I've done as much to the Goblin Village as I personally intend to. Regardless, regarding other areas, probably, though I haven't looked into anything else yet; I had to fix up the Goblin Village for Scroll Hack (etc.) and things just got out of hand. For the Pure Land, I imagine the most painless way would be to add a door (or modify a step-on event, if there is one) somewhere in the map you land at after finishing it that connects back to somewhere earlier that itself has good room connections. Not sure what other fixups would be necessary though. Or maybe when you land it's an on-enter event that dictates what map you're sent to and that can be modified? Again, haven't looked into it, so just guessing wildly. Modifying maps is pretty difficult and time-consuming so I guess any time you can modify events to get the job done instead is good.

kethinov

I released another new hack: http://www.romhacking.net/hacks/4494/

This one changes the boss fight music for the first two bosses in the Mana Fortress (Buffy and Dread Slime) from the standard boss fight music to two rather underutilized tracks in the game's score: "Morning is Here" (assigned to Buffy) and "One of Them is Hope" (assigned to Dread Slime).

In the original game these tracks are only heard during some brief dialog sequences just after defeating Dark Lich. Those dialog sequences are so short that it's possible to not even hear the entirety of either track. Playing them during the first two boss fights in the Mana Fortress too gives these two terrific tracks a bit more room to breathe. Plus by this point in the game you are probably tired of hearing the same old boss fight music anyway. Getting to hear these two tense and dramatic tracks instead helps add to the grandiosity of the Fortress.

Queue

I already snagged it. Seems like a solid idea. I used a slightly modified "One of Them is Hope" for the Turbo title screen music for the same reason: neat song that you basically don't get to hear.

I'm working on something REALLY stupid at the moment that may prove fruitless, and is taking longer than I'd expected, but here's hoping.

kethinov

Updated three of my hacks:

- Neko and Watts in the Mana Fortress (https://www.romhacking.net/hacks/4413/): Fixed the VWF issue Queue pointed out.
- Equipment Progression Balance (https://www.romhacking.net/hacks/4422/): Fixed a crash when combined with VWF reported by someone who emailed me.
- Magical Herb (https://www.romhacking.net/hacks/4426/): Compressed the code the same way Queue did in the Turbo patcher.

Going to work on compatibility fixes for Relocalized next. Thanks for the help, Queue!

teahouser

The file upload says the free hosting period has expired and only premium members can download the file. Would you be able to re upload it so it is available again?

Queue

Re-upload of Version 2019-04-26:
https://ufile.io/3n4p2wl7

I've been trying to use that 7-day file host limit to force myself to get out a new release at least once a week, but what I'm currently working on has taken longer than expected. Sorry about that. The sad part is if I get it working, I'm not sure it'll even be well received, but at least it's been fun to work on (details intentionally left vague).

teahouser

I'm excited to play all of your future creations, your passion for SoM is very refreshing. I got it working correctly on SNES Classic, thank you. The problem was I wasn't using the stock preset ID 10B0, I was using a different one that was only enabling the HD text, the stock ID fixed the gamma issues.

One question, if Relocalized is checked then his white title screen overrides the one you made?

Queue

#137
Version 2019-05-07:
https://ufile.io/2twxfgth

Changes:
- Rewrote the imported MSU-1 hack using source code graciously provided by DarkShock
- Fixed a crash caused by making a safe save state without the MSU-1 hack enabled, then adding it and loading said save state
- Minor FastROM adjustment and code cleanup
- Removed Relocalized internal ROM name dependency on [[Combat]] section

Okay, time to reveal my madness:
- MSU-1 support for ZSNES v1.51 (official Windows build only, at the moment).

How to use it?
- Make sure [[Audio]], [Enable_MSU-1] and [_ZSNES_MSU-1] are On when patching.
- Download a Secret of Mana MSU-1 sound pack and extract the .msu and .pcm files to the same folder as the patched SoM ROM.
- Use Snes9x-style MSU-1 file naming; there's a batch file in the Turbo readmes folder to hopefully simplify renaming.
- Launch the official Windows build of ZSNES v1.51 (not FuSoYa's 8MB R2 build, nor any other variant).
- Open the "Config", "Sound" menu and set "Sampling Rate:" to 44100Hz.
- Load the patched SoM ROM.

The Turbo title screen song is track number 63 if you want to override it with a PCM file.

I have only tested this on my primary computer so far, so there is the definite possibility this will not work on some system configurations.

I will be releasing a "plugin" version of this MSU-1 support (a dsound.dll file to put in the ZSNES program folder alongside zsnesw.exe), but wanted to get this crazier version tested first.




Example file structure:
SNES\Games\Secret of Mana, Turbo.scm
SNES\Games\Secret of Mana, Turbo.msu (<- empty file)
SNES\Games\Secret of Mana, Turbo-0.pcm
SNES\Games\Secret of Mana, Turbo-1.pcm
SNES\Games\Secret of Mana, Turbo-2.pcm
etc.

It also supports naming a folder RomName.msu in the same folder as the game ROM, where you put the RomName-###.pcm files inside said RomName.msu folder. So, for example, you could have:
SNES\Games\Secret of Mana, Turbo.scm
SNES\Games\Secret of Mana, Turbo.msu (<- this is a folder)
SNES\Games\Secret of Mana, Turbo.msu\Secret of Mana, Turbo-0.pcm
SNES\Games\Secret of Mana, Turbo.msu\Secret of Mana, Turbo-1.pcm
SNES\Games\Secret of Mana, Turbo.msu\Secret of Mana, Turbo-2.pcm
etc.




teahouser, thanks for the vote of confidence. Yes, currently Relocalized recoloring the title screen logo isn't a separate option. I personally like the original yellow, but haven't gotten around to adding in some configurable option for it yet.

teahouser

#138
I also really enjoy your yellow title screen with your added Turbo logo, very sharp and matches the OG SNES box art spot on. If kethinov Timbo could supply you with a version of his Relocalized patch that doesn't touch the intro gfx at all, or you add an option to override his intro with yours when using Relocalized with Turbo.

I play on SNES classic so I'll unfortunately not be able to take advantage of all the work you've done with MSU-1 support but it is very impressive non the less.


Queue

#139
Timbo has already provided me with the offsets for the palette change (the vanilla offset is actually commented within the Turbo ZPS file already), I just haven't added an override yet; it doesn't take that much effort, but it's still more than zero and I only have so much time in a day.




Next update will have another old nit-pick fixed:
->