Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - insidious611

Pages: [1] 2 3 ... 6
I need a little bit of help with debugging the Shadow scene bug. Specifically, I need a save (srm format) right before this happens and directions to reproduce, as I don't really have the time atm to organically reach this point in the game to test my fix. Feel free to use one of the action replay "save anywhere" codes to achieve this (do note however that use of these codes in general can sometimes produce... weird situations.)

EDIT: Also, bit of an update regarding that fix. Essentially what I'm doing is muting the volume whenever something calls for a fadeout, as a temporary workaround for when the game should be playing silence and isn't. However, this causes some pretty abrupt musical cuts, noticably (so far in testing) at the end of Dancing Mad Part 3 before Part 4 starts. This is very much a temporary, somewhat heavy handed solution and I'm even considering offering two patches in the installer because I could understand somebody considering this a regression.

Okay so, I did an unorthodox thing that seems to have worked. Read the issue for details,, but basically I'm using a flag setting and checking/clearing routine to make it use the SPC for the train noises where appropriate and then switch to the MSU Phantom Train music when called for. It seems to work perfectly so far, but the amount of changes I needed to make to the "PlayCommand" label in the ASM means I also need to check Dancing Mad for regressions before I can 100% call this a fixed bug.

I can confirm, however, that the situation described in the original bug report (that of the ending to the Phantom Train sequence, where it should be playing train noises followed by silence as Cyan mourns) is in my branch now performing 100% the same as an unmodified ROM.

If anyone else wants to help me test both this and the fade-out workaround (which just sets volume immediately to 0 when a fade-to-zero is called for), apply this IPS from the train-and-fadeout-fixes branch to a clean ROM and replace your Dancing Mad ROM with it.

So this is interesting. Madsiur, remember how you said you didn't know what SPC command $89 does? Well, I still don't know for sure, but I do know where it's used! >.<

The phantom train does *not* use $82 for its subsong switching. When it calls for track $20 (decimal 32, phantom train), the bit with the train noise plays by default, and then it calls $89 when it's time to switch to the actual song (still with $20 and $ff in $1301 and $1302).

This is going to need a lot more investigation than I thought, and it means the fix I tried to make for it is pointless :P

An interesting side effect of this in a vanilla ROM that I never realized before: All of the save rooms in the phantom train segment are specially coded to trigger SPC Command $89 when you leave them. So, when you save and reload your game, it plays the train sound effect, but the minute you go to leave it segues into the music.

I admittedly wasn't even aware he'd done any disc two work. Yeah, I'd be happy to include it, provided I can find a download. I purchased a copy of the Disc One album in FLAC form to make the original MSU-1 PCMs, and I'm only finding the Disc Two work in non-downloadable form on SoundCloud atm.


Progress report on the hack: At the moment I'm mostly trying to consider how to tackle the current bugs. A lot of them are due to the way I'm handling (or, to be more accurate,  currently *not* handling) the fading commands. Madsiur's list of SPC commands from his patch is really helpful for me as far as trying to fix that issue, but I'm mulling over whether I really want to put in workarounds I'll have to take out later once the actual fade code is in.

To be specific, while I haven't had time to test this theory re issue #73, it and issues #38, and #32 stem primarily from the fact FF6 sometimes relies on a song having faded to 0 in order to have silence in a scene, and as I don't directly handle SPC command $81 at all, the songs continue playing at whatever volume they were last set to instead of fading to 0.

The workaround in this case, at least, the easiest one I can think of atm, would be to hook SPC command $81 with a simple routine that checks the requested volume, and, if it's 0, mute the MSU-1. This would turn all fade outs into sudden silences, *hopefully* not breaking anything in the process but probably fixing these bugs for the moment.

However, this entire routine (aside the actual hooking of SPC command $81 which will likely be vital to the fading code) would need to be cut out whenever actual fading is implemented.

Issue #74, the phantom train issue, is likely a combination of not handling $81 (fading) and not correctly handling $82 (subsong switching). Right now, I only handle $82 for Dancing Mad, because it's the only song (set of songs really) in the game that absolutely *needs* subsong switching to work at all. However, Phantom Train uses subsong switching to switch between the actual song and the train sounds, and my current $82 code ignores any calls that aren't during Dancing Mad.

The subsong part of #74 may be an easy fix, but it may just expose a lingering fading-based issue as I bet the train sound will continue looping at full volume.

Sounds like a good plan, fork away! And no rush, as I said I'm pretty busy myself at the moment.

This is honestly pretty excellent work! I love how well structured the code is. I'm still pretty new to ASM and have never used bass, but I could understand what you were doing pretty well! No slight against DarkShock's work but I had a much harder time understanding it when I was first getting started with this project. I particularly like your clever use of macros and how clean they make everything.

If you have any questions about what I'm doing in the current version and why, feel free to ask.

One warning, I noticed you're storing a lot of state variables in $7E1xxx. That's safe most of the time but FF6 craps all over that area of RAM during the ending sequence, which is part of why I laid my variables out partly in there and partly in $1Exx. When I relied on memory in the $7E1xxx block earlier it caused repeated restarts of the ending theme due to not being able to properly check if it was already playing.

I'm not sure how far you wanted to go with your version or if you wanted to contribute the code directly to the project, but provided you can reach feature parity with current code without any regressions (look at the closed bugs on github), I'd be more than willing to incorporate this version of the patch directly into the project. If you'd rather keep it a seperate project that's cool too. If you're contributing this as is with an eye to me finishing it up, I'm alright with that idea too but it'd take me a while to get truly comfortable with this codebase.

On an only semi-related note, I wanted to apologize to everyone for the lack of bug fixing movement lately. I went back to college as of a month ago and have been super busy, so I haven't really had the time to devote to this project that I want to. Rest assured bug reports *are* being paid attention to and I've been brainstorming fixes.

Avast just got back to me on the false positive. They've fixed it in their definitions which should be updated within 24-48 hours :)

Were you running the i386 installer or the amd64 one?

Ehh, I'll just report both.

Good bugs! I'll try to get time to work on them, but I've gone back to school so my time is more limited atm.

The shadow thing is odd, if it calls for shadow's theme via normal means that should be caught

edale is likely on track with the Phantom Train thing. It's likely a fade-to-silence and we've not cracked getting fading working without glitches yet.

Hotfix Two is now out. This is a minor patch dealing with some download/install issues. Notably, the saika mirror has been removed as it's been dead for a while, and a 15 second timeout was added on initial connections. Also, on the backend, an issue with the Amazon Web Services mirror was fixed. Available here.

Hotfix One is now out, with all the above mentioned features! I don't need to big it up any further here, I don't think. Grab it here!

Only a minor bug or two and the fading support in the way of a final release.

A pretty major update to the installer is coming in the next hotfix. This should be available sometime in the next month, depending on my available time (it's nearly complete already).

The biggest new inclusions are the two new music sources mentioned earlier, as well as the ability to optionally apply any of the following:

 - the Ted Woolsey Uncensored Edition patch
 - edale2's Cut Songs Restoration patch
 - Madsiur's Music Player (either the Dancing Mad or Cut Songs Restoration version, depending on whether or not you choose to apply edale2's CSR patch)

Other big changes (honestly the lion's share of the work) are under the hood and have already been completed. The installer now uses a much easier to maintain data format, enabling me to add new sources and mirrors with ease. I've added an Amazon AWS S3 store as a emergency fallback mirror. I would please ask anybody downloading the PCM files directly to *avoid* this mirror as I will be charged for bandwidth used, I want to leave it as a way to get the data guaranteed in case any of my other mirrors, for which I'm not charged for bandwidth usage, go down.

My recommended selection of songs (the Developer's Recommendation, or what's always been referred to internally as the Sid Selection) has also changed drastically for the upcoming version. If there's demand, I might provide a RAR of the old recommended PCMs for those curious or who don't like my new choices.

Just letting people know, the server hosting the PCM files may be offline for a period of a few hours (up to maybe 5 at most) over the next couple of days, as I'm updating all of my servers to counter the recent Intel CPU security vulnerabilities.

Backup mirror has already been updated so the installer should still work.

Bit of an announcement to make. With edale2's help we found and looped two entirely new sources of FF6 remixes/arrangements. These are excellent and provide an alternative for many tracks that otherwise only had OCRemix and OST tracks available. Work is underway adding these two new sources to the installer.

As a preview, here are the (unaffiliated with this project) links to listen to the soundtracks in question:
Eiko Nichols' "Final Fantasy VI Acoustic Rendition" (will go under the abbreviation "FFAR")

ChrystalChameleon's "Final Fantasy VI Orchestrated" (will go under the abbreviation "CRC")

A special thanks to ChrystalChameleon for giving their endorsement and giving edale2 high quality MP3s of their tracks to work with.

A minor audio-only hotfix was done today, with even better timings for the Opera, fixes to the OST opening, a new OTH version of Searching for Friends, and preparation for adding a whole new source, the "Final Fantasy 6 Acoustic Rendition".

Credit for all these new audio tweaks is due to edale2.

No new installer out yet, though one is not necessary just to get the Opera and OST fixes, as the installer will automatically download the fixed tracks.

Also, there were some DNS issues with the server I host the audio on. They should be resolved now, but if you're having any issues with the installer this is probably why (sometimes changes take a while to propagate with DNS).

And we have hit Final Beta Release

Download here.

Remaining confirmed bugs:
 * "Select a Scenario" screen plays last MSU-1 track upon load. Will be fixed in a coming hotfix.
 * Fading not yet implemented. Will be fixed for final release.

New in this release:
 * Alternate OCRemix loops courtesy of Qwertymodo
 * Ability to load a preset on the custom track selection screen.
 * Multiple cosmetic improvements to the installer.
 * Confirmed compatibility with "Ted Woolsey Uncensored Edition" patch (apply *after* the MSU-1 patch, with your favorite IPS patcher. Note that the "music player" addon patch works but has some audio hitching issues when leaving menus)
 * PCM sound effects for sounds that play on loop without music (waterfalls, fire, wind (not currently implemented due to a bug), waves)
 * Fully working opera with (mostly) synced voices!
 * Many new tracks from suggestions and contributors!
 * Many many bugfixes.

Upcoming hotfix releases may also include new tracks and potentially a changed "sid selection"/"developer's recommendation" preset (I need to go through and test the OCR2 and new OTH tracks against my previous selections).

Just so people are aware, once I've fixed the remaining bug, made a few investigations into the game's volume system, and handled some suggested audio changes I am likely going to take at least a few months vacation from this project as there are other projects I'm working on that also deserve my attention.

As I suspected, there are problems with that last fix (it's only working in one specific scenario out of 4), so the final beta installer will be packaged without it. I'm currently in testing of the installer.

Testing is complete! Two people have fully tested the game to completion now and almost no bugs encountered :)

We have one last bug to nail down, the "Select a Scenario" bug. I've made a fix, but the nature of said fix is experimental and hacky so it's going through another (much shorter) round of testing before I'm confident putting it in the final beta.

If we can't definitively nail down the fix as not breaking anything else within the next week, I'm going to leave it out of the final beta as the issue is minor and the potential for problems is fairly major.

There's also some minor optimization I can do that I'm going back and forth on whether I should try it out before the final beta release, as it shouldn't break anything but it affects 7 vital lines of code in various important sections of the program, so I'm iffy on changing something that vital.

Quick status update, we're doing test playthroughs of the whole game ahead of this release. edale2 is doing a playthrough where he does a bunch of the optional content, I'm basically doing a straight run (not a speedrun but at the very least an attempt to get through the base game quickly). I'm about to finish the World of Balance, he, since he started a bit earlier and has had more time to put in, is about halfway done with the World of Ruin optional content.

After finishing this if we don't encounter any further bugs I'm going to test the installer one more time and assuming *that* is still in perfectly working order I'm going to release the final beta.

Known bugs likely to make it into the final beta release:

* "Select a Scenario" screen will play whatever MSU-1 track was last playing upon loading, going to silence after entering and leaving the menu. This is due to a workaround put in place to successfully fix a *number* of other bugs, involving using the otherwise unused silent Track 51 as a way to flag my MSU-1 code. This is the only spot in the game we've found so far where Track 51 is actually called, and it therefore mistakenly trips the flag. I am trying to figure out how to determine (specifically, where in memory this is contained) what map is currently loaded in order to do a workaround for this and another unrelated bug that's also situational to the scene.
* Victory theme may play on loop after leaving South Figaro during Locke's scenario. I got this bug *once* on RetroPie's lr-snes9x and was unable to get it to reproduce on any emulator (including lr-snes9x) since. Unfortunately, being unable to reproduce it means I'm unable to test what might be a fix, and as I'm unwilling to put untested code into this project the "fix" is being left out. Please please *please* get me a savestate if this happens to you.
* Fading still not implemented.

Had a more vital bug fix come in re: the Dancing Mad tracks and am going to do some more thorough testing on that and a fix for the "no music after sleep" bug before the Final Beta release, so that may take a bit longer, but it still should be out soon.

A video of the Opera, fully working and voiced!

or on youtube

The new installer has been thoroughly tested at this point and seems to be working just fine. I'm holding off on a release until we have one more track uploaded (edale was working on the seashore sounds for the WoR and I've already got the installer pointing to that, so I don't want to upload a copy that will 404 on a track we've not got done yet.), but everything seems to be ready for release otherwise!

Keep watch on this space for the Final Beta release.

The only things left after this for a *final* release are the still-elusive fading support and fixing the two remaining minor bugs to do with event handling. Any release after this one will be either a hotfix to the Final Beta (only if necessary), a Release Candidate, or the Final Release. We're on the home stretch.

Awesome news. That opera timing bug has (tentatively) been fixed. It still desyncs a bit but it's absolutely acceptable imo.

This means that the next version of the installer will ship with the audio files and patch to have a confirmed working Opera with MSU-1 audio.

EDIT: A properly timed version of the OST opera has been provided. As such, disregard what used to be here. OTH versions will be selected if you choose OCR, OCRAlt, or Developer's Recommendation, otherwise OST will be used.

The OTH versions have to be heard to be believed. They're far from perfect but just hearing the characters actually sing their lines is mind blowing.

I have to do more testing on the installer because I've made a lot of major changes to its architecture, but expect a release some time in the next couple of weeks. With all the changes this release will bring, this is going to be the most major release since we hit open beta.

I'm also going to look into the sleeping/event bug. No guarantees that'll make this new release unless the fix is simple, but it's in my queue.

I have to give a huge shout out to Github contributor edale2 for his work on the audio end of things. I am very much not an audio editor, or at least if I am I'm a rank amateur. His work has been exceptional.

Another bonus in the new installer will be support for MSU-1 replacement of certain sound effects that are played on the SPC as loops during sections with no music. At the moment this includes the raft scene with Banon, and there's work being done on the seashore wave sound effects from the world of ruin opening. Both of these are essentially original works (using PD sound effects as a basis) by edale2. In addition, he has also provided a few Black Mages tracks that will be added to the Other selection, including their versions of Dancing Mad, Decisive Battle, and the Battle theme.

In addition, he has provided, usable in the Other section, a version of Phantom Train that is the SSC track with a train effect, similar to the one present in the original and OCR mixes.

You'll have to choose a custom selection to enjoy many of these options, though I'll be turning the new sound effects on by default in the developer selection, using edale's modified version of the SSC phantom train track in the same,  and am on the fence on maybe switching to Black Mages for Dancing Mad.

I always appreciate bug reports, but just specify if you make a report that you're running another patch alongside and expect that your report might be lower priority just because it'll be more work to test.

That said we've done some more in depth testing and found that so far these specific patches don't touch any of the same code as I do, even if you're using the one with the add-ons and the music player and everything, the closest he ever comes to an area of the ROM I'm touching is still a very healthy 16kb away. So I'd be really surprised if you actually find a bug that's unique to this combination.

One of the testers on github has actually been doing extensive testing with the Ted Woolsey uncensored patch(es). He's found no major problems, so it should work fine. The area of the game code I'm changing and the area of the game code those patches change are quite distant, so it's fairly easy to get them to play nice with each other.

Obviously doing this is unsupported (the recent testing has been the only testing anyone has ever really done on something other than untouched ff3 us 1.0) and at your own risk. Also, my installer won't let you use an already patched ROM, so you'll need to do Dancing Mad first and then any other patch afterwards, instead of the other way around.

But all indications are it should work just fine.

The github "issue" where we've been discussing said compatibility testing.

The  bug with the ending alluded to there is a bug in my patch which shows up even without the help of other patches, and which has been fixed for the next release

Good news! The Opera bug has been mostly quashed/worked around. The timing for the one interactive scene (where you have to press the right prompts) is currently quite off in the only MSU-1 track we have for it (the intro is way too long). Said timing can likely be fixed (will require audio edits) however the underlying issue that if you screw up or take too long to make your inputs, Celes's voice will desync even if the track is perfect, has not been fixed (and can't be unless I remove all the interactivity from that scene or make some sort of micro-loops that would probably sound awful).

The next release of the installer will ship with this corrected patch, and will now download the Opera tracks as normal instead of dummying them out.

Less good news! tl;dr, Avira is getting a false positive virus detection on the installer I'm about to release. Which is really hindering me being able to test it, and also worries me that people will be turned off. Please don't worry about it. Heur/APC (Cloud) is a generic-ass heuristic that probably catches on a lot of stuff. This seems to have been triggered primarily by the switch to Python 3.6, somehow. If people are turned off, I might switch back to Python 3.5 or provide that as an alternate download, I guess.

Why does Python 3.6 continue to be the bane of my existence?

Pages: [1] 2 3 ... 6