Still messing with widescreen junk, it is now my prime goal to get perfect widescreen on Melee. I've got a ton of notes written down and I'm starting to understand a bit more about how certain things work. What helped the most was figuring out how to use Dolphin's debug options a bit better. I figure my best bet for getting working widescreen into a start.dol is figuring out and then tweaking standardtoaster's asm injection thingy, since there's no offset in the start.dol that corresponds to where the code edits.
I think I have an idea of the real "problem" with it...Melee has multiple places where you can set the FOV for certain things.
- So basically, IE's code tells JUST the single FOV at 80BDC5E4 to render in 4/3(which in hexland is 3FCFC217). The other FOV's remain unchanged, which is why basically everything else is still stretched and you don't notice the background weirdness.
- With toaster's code I think it tells ALL or at least multiple FOV's to render in 4/3. This includes the background shader things and thus with toaster's code you see the 640x480 background weirdness during battle, which is the "problem."
What supports this is during battle, I searched through the memory for every instance of 3FCFC217.
- With just IE's code, I can only find one instance of 3FCFC217, and it's at 04BDC5E4 like it's supposed to be.
- With delicious toast, I can find like 12... If I change some of those, certain things change! For example, on 1.0 if I change the 3FCFC217 I found at 00fde964 back to 3F9BD194 the HUD icons get stretched just like IE's code!
So, we can use this new info to create a better widescreen code, atleast. I'm going to try to find out exactly what each instance does just by poking at it a bit more. I'll get back with that because now I have something fun to do.
Anyways, as far as general productivity goes, I managed to develop IE's widescreen code for all versions, since I'm pretty familiar with what it's supposed to do and don't remember seeing anyone else do it:
1.0: 04BDA464 3FCFC217
1.1: 04BDB8C4 3FCFC217
1.2: 04BDC5E4 3FCFC217
PAL: 04C05144 3FCFC217
Initially I tried doing it with math but I think I miscalculated or something because that didn't work, so being familiar with what and where the original code changes in 1.2 I just searched for all instances of it in the the other versions, found the right spot(it's the second to last instance of 3F9BD194 during a match) and copied the offset it was found at.
I've been steadily adding to this post for like the past couple hours, so a couple things may be repeated or oddly placed. And again, I'm just poking at this until I can make something happen, I'm probably gonna require help from someone who can write assembly or something for actually getting the start.dol thing to work.
SS