
So, what's ol' Yoshifanatic been up to lately? Quite a few things, as usual. It's seems I have recently become the SMW equivalent of the Super Mario 64 hacker known as, Kaze Emanuar. Which if you know anything about what he's been doing with SM64 lately, you ought to be very excited about what I'm about to show. Without further ado:
-----------------------------------------------------------------------
(Patch) Overworld Revolution (WIP)

Bigger overworlds? Programmable events and path movement? Unrestricted overworld sprites? Yes please!
Please check out Soul's C3 thread, as I made this for his hack.
-----------------------------------------------------------------------
(Source Code) Mario & Yoshi's Strange Quests (Dev Build 2/23/24)
I wasn't just rewriting the overworld. Had to do the level sprite engine too. XD
(Note: This disassembly lacks the Lunar Magic ASM and certain resources, so it will NOT compile. Also, the unknown Easter egg names are hidden to prevent spoiling them).
Also, one reason I'm showing this off is because I didn't just rewrite the overworld (albeit in a separate patch that isn't integrated into MYSQ yet). I'm also in the process of rewriting the sprite engine. Since I'm not using the SA-1 patch, the only way for me to get better performance is by optimizing the SMW engine. And it turns out a lot of things could be better. I've greatly expanded what the SMW engine can do with my rewrites on top of improving its performance. Here is a snippet of what I've managed to do:

Look at all them tiles on my screen! Really cool, eh?

10 koopas clustered together in a layer 2 level with sprite buoyancy on? How is it barely not lagging!?!
(This would lag in the current release build, by quite a bit).
There are a lot of other changes that I can't easily show in a .gif, which are mentioned in the changelog if you're interested in reading about all the engine related improvements.
If you want to play around with the current dev build to see the improved sprite engine in action, I included a .bps patch of this dev build in the source code download. However, don't expect this to be a fully stable release. There are a lot of bugs and the game is likely to freeze if you encounter sprites that haven't been converted to my new sprite system.
And if you guys have any ideas for how I can improve the SMW engine further, let me know!

- Remade the following MSQ levels:
+ Snow Pass
+ Walljump Pit
+ Soda Lake
+ Evil Carnival
+ Mt. Mushroom Ascent
+ Frost Cave Entrance
+ Larry's Fortress
- Heavily refactored SMW's sprite engine to better optimize it and fix bugs. Here is a list of some of the changes this resulted in:
+ All sprite types now run with 16-bit A
+ Remapped almost every RAM address in the $0100-$1FFF range to better organize it.
+ Sprite tables are now arranged in 32-bit entries like Yoshi's Island.
+ Standardized how every sprite is spawned in.
+ Made it possible to give sprites their own dedicated code for each status, not just init and main.
+ Made it so there is no distinction between the original SMW sprites and custom PIXI sprites to streamline the code that loads sprites.
+ Sprite speeds are now 16-bit, increasing the range of both slow and fast speeds that are possible by 16x.
+ GetDrawInfo (at least the part setting the offscreen flags) and SubOffscreen are now called for every sprite before processing it.
+ Many sprite subroutines are now built with 16-bit values in mind.
+ Standardized how block collision is handled.
+ Implemented my experimental sprite draw engine patch to improve how sprite graphics are drawn (albeit the implementation is different).
+ Replaced now useless/redundant sprite property bits with new ones, such as the default X/Y flip, default level tile priority, default pose, whether the sprite processes when $9D is set, etc.
+ Converted Extended, Minor Extended, Score, Cluster, Smoke, Bounce, and Spinning Coin sprites into Projectile or Effect sprites.
- Bug fixes as a result of the above refactoring (there likely are more):
+ Fixed a vanilla SMW bug where you could eat a fully squished rex.
+ Fixed a bug where Yoshi could bounce off of a rex as it was being eaten.
+ Fixed a vanilla SMW bug where the flower on a wiggler's head may sometimes spawn at an incorrect Y position.
+ Fixed a vanilla SMW bug where bouncing off a springboard plays its sound every frame while it's fully compressed instead of only once.
+ Fixed a vanilla SMW bug where koopa shells would still interact with walls when dead.
+ Gave the smoke sprites a high byte for their X/Y position.
+ Fixed all instances of misc sprites despawning the instant they go past the top or left side of the screen.
+ Fixed a vanilla SMW bug where several normal sprites didn't call SubOffscreen, preventing them from despawning
+ Fixed a vanilla SMW bug where various sprites use the global frame counter instead of the local one.
+ Fixed a vanilla SMW bug where Yoshi eggs don't bounce when spawned in their stunned state.
+ Fixed all instances of sprite tiles unintentionally wrapping around the screen.
+ Fixed all instances of normal sprites not being entirely frozen when $9D is set.
+ Fixed many broken sprite property settings. Most of these would only potentially come up when debug mode is used, but still.
- Aesthetic improvements
+ Fixed a couple of glitched graphics in Dragon's Den.
+ Fixed a vanilla SMW bug where exiting a horizontal pipe doesn't play a sound.
+ Fixed a vanilla SMW bug where bounce sprites despawn slightly too quickly, which made the transition from bounce sprite to tile less smooth than it should be.
+ Fixed a bug where Yoshi would disappear for a frame (as well as his tongue appearing) right when he begins swallowing something.
+ Made the pipe leading to the nightmare eyes a different color from every other pipe in the level they're found in.
+ Improved the underwater wave HDMA to be much less performance intensive, allowing it to be used in more places.
+ Made a variant of the underwater HDMA that applies its effects up to the height of a layer 3 tide.

I'm probably going to tweak this, as some people told me it looks off given this is the same wave effect DKC2 uses.
+ Made it so that the status bar no longer disappears when a message box is on screen.
+ Made the status bar display on the file select screen, allowing the user to see the effects of changing the status bar color.
+ Fixed the cutoff row in the status bar by optimizing the rendering code a bit better.
+ Improved the appearance of Yoshi's sideways tongue poses so his tongue is now properly layered under his nose but in front of his lip.
+ Made the player sprite appear in various positions/poses on the "Player Start!" screen.
+ Layer 3 tides now darken the area under them instead of brightening them up.

I'm surprised nobody pointed out how awkward it looked for the water to brighten the ground below it.
+ Added an HDMA gradient to the exterior areas of Dragon's Den and Evil Laundromat.
+ Gave the lakitu enemies a throwing sound effect.
+ The player now faces away from the screen when entering a door.
+ Fixed some minor cutoff in the bee section of Stone Tower Temple.
+ Made various levels take advantage of LM 3.40's new layer 2 scroll settings.
+ Dying to the sideways pits in Vertical Forest and during the failure cutscene in Yoshi Cavern will now play the pit death MSU-1 voice clips instead of the regular death ones.
+ Pressing a switch palace switch now snaps the player to be on the switch and to display their victory pose.

Yoshi is happy he no longer has to hover awkwardly above the switch after pressing it.
+ Made some visual improvements to Wart's veggie spawner.
+ Made some visual improvements to Clawgrip.
+ Wario and EYF 2 now bob up and down when moving.
+ When at max HP, the health counter now flashes.
+ Added some additional effect sprites for some player actions.
+ Boos can now randomly show their "smug" frames when idling.
- Fixed a minor oversight where the 1st and 2nd Yoshi coin of Rainbow road were in each other's place.
- Fixed a bug where the above camera movement in Key Plains would prevent free movement from working.
- Fixed an oversight where a few of the parallax scrolling HDMA effects were not working.
- Yoshi can no longer spit things out of his mouth when too close to a wall/ceiling. This mostly fixes the bug where he can spit things into ceilings, but it's still possible.
- Made it so that the game selection cursor remembers which game was last selected.
- Fixed a bug where the radioactive water in Radioactive Beach would continuously play the hurt sounds if you died in it.
- Added a new debug menu setting for displaying every defined sprite pose in MYSQ.
- Optimized the VWF Text box code significantly.

Turns out, most of this improvement came from optimizing just one specific routine.
- Doubled the speed at which Yoshi extends/retracts his tongue to better match how it works in YI.
- Fixed an oversight where, when the farting Yoshi cheat is active, Luigi would fart on the file select screen.
- Fixed an oversight where, when the farting Yoshi cheat is active, fart clouds would spawn when Yoshi isn't in the current level.
- Reduced the size of the save files, as they were saving a bunch of addresses that weren't being used.
- Fixed a bug where Mario would jolt away from a wall while sliding down it if you moved away from the wall.
- Fixed a bug where Mario would have some horizontal momentum when sliding down a wall that ends in midair.
- Added a V-Blank meter function to the CPU meter debug mode feature.
- Holding up when beginning to throw an egg now initializes the cursor to point straight up, just like in Yoshi's Island.
- Fixed a bug where the infinite HP cheat didn't work if your max HP is 0.
- Fixed a bug where pressing start/select in the file select sublevel would take you to the overworld instead of the MYSQ title screen when debug mode is enabled.
- Significantly optimized the palette fade routine.

I swear I'm not using the SA-1 here. Nintendo's laggy palette fade code really is just that bad, performance wise, if I could optimize it as much as I have.
- Added a new debug mode setting for displaying either tile collision points or hitboxes for sprites.

Ever thought that some of the hitboxes seemed jank before? Well, now it's possible to see them!
- Adjusted some hitboxes for the extended sprites, as some of them made little sense.
- Converted all vertical levels into tall horizontal levels.
-----------------------------------------------------------------------
(Disassembly) Chrono Trigger (Unfinished)

A timeless classic!
Since I didn't finish this disassembly, I'm not going to bother with the usual technical/personal experience stuff. But, I will share some .gifs I made while working on the disassembly:

Are you Team Rainbow Shell or Team Constipated Dinosaur? Chrono is the latter.

For once, Ozzie may have a point...

You know what they say. The bigger they are, the harder they fall. XD
-----------------------------------------------------------------------
... And that's all I got for this C3! I hope you guys liked it!

-----------------------------------------------------------------------
My Hacks:
Mario's Strange Quest V1.6
Yoshi's Strange Quest V1.3 / V1.3.1 Beta 4.6
Mario & Yoshi's Strange Quests (2/10/2023 Build)
Other stuff:
My SMW/SMAS/SMAS+W disassembly
Yoshifanatic's Discord Server: A place for fans of my stuff and/or Yoshi to chat with others.