Dolphin, the GameCube and Wii emulator - Forums

Full Version: NTSC/JP Xenoblade 60fps and other mods
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Did you try with the newer codehandler file too? The Opti has minor optimizations and a few additional fixes. If you want to check, delete the condition cycle speed and UI slideout speed section of opti and see if the bars are still red, if they are then my optimizations were buggy. Also, the reason why Opti worked for me and not other people, was that the 30fps main menu was triggering the bug, which I didn't notice since my main menu is always 60fps.

Thanks for checking. I'll see if 8083460c corresponds to anything else I know. Maybe I can just find a different memory trigger entirely.

@Jersh It's ok. As I thought, the memory trigger has a different value for some unknown reason. Be sure to give me your values when it's not working so we can compare. Also, you said the ini might be where it's coming from. If someone with 30fps menus wants to upload their xenoblade ini file, I could look at that too.
The only codehandler I've used is the default one that comes with the latest Dolphin versions. I never felt the need to go back to the old one since I got stutters VERY infrequently and I don't use tons of Gecko codes anyway. Anyway, I'll give you my .ini if you want.

Additionally, I removed the condition cycling, etc. section from the optimized code, and it does indeed fix the health bars always being red.
Found it. I really thought I ran through these options when testing, but I guess I missed it. Fast Disc Transfer is breaking the main menu. Try playing with it set to off/unchecked and tell me if anything runs or loads particularly slower for you. I'll still try to find a more universal trigger for the main menu.

My to do:
Check health bars
New trigger for main menu
Test head motion more thoroughly
Check Z button controls

For anyone else:
Check the Opti60fps Delag code in a recent build without replacing the codehandler and let me know if there is any stutter (sometimes it's just once every 10-20 seconds).
Good fucking god how did I not think of that. I guess just because I pretty much always have it checked for anything that doesn't break with it on, I didn't even consider it. Anyway, yes, with SUDTR turned off, the menu is properly in 60fps. The loading is significantly slower, a few seconds I would say, but it's not excruciating. I would definitely prefer to be able to have it turned on while playing because with it on the load times are almost instant, but I understand if it doesn't work. It is a hack, after all.
(10-10-2017, 04:21 PM)One More Try Wrote: [ -> ]Found it. I really thought I ran through these options when testing, but I guess I missed it.  Fast Disc Transfer is breaking the main menu.  Try playing with it set to off/unchecked and tell me if anything runs or loads particularly slower for you.  I'll still try to find a more universal trigger for the main menu.

My to do:
Check health bars
New trigger for main menu
Test head motion more thoroughly
Check Z button controls

For anyone else:
Check the Opti60fps Delag code in a recent build without replacing the codehandler and let me know if there is any stutter (sometimes it's just once every 10-20 seconds).

Ah, that would explain why creating a fresh ini would fix it, yet the problem would keep coming back. Makes sense. I don't know why that option would break it, but that's consistent with what I've experienced. Glad I managed to help, even if only by pointing you in the right direction.
60fps main menu for everyone. I don't know if it break anything, but the only thing that can go wrong is a 30fps movie being forced into 60fps.

DeLag code: (Show Spoiler)

/edit Updated with fixed health bar bug
/edit2 Added head movement code

(edited for clarity) The mechonis field conveyor bug is due to moving textures being paused every other frame to keep them moving at the correct speed. When on the conveyor your movement speed being equal to the conveyor makes it obvious the texture is pausing. Not sure if I can fix it Sad Maybe I can make the character move at double speed on the conveyor then pause it when the texture pauses - making them both update at 30 fps.

/edit Because the conveyor moves very simply, I actually did make progress on 60fps patching it. The two problems are that it breaks for a few frames when the texture loops (once every 23 seconds), and I would need to find a unique identifier so I only apply the fix to conveyors. How many conveyors are there approximately? Not sure if they all use the same values.

/edit Wow I may have made some progress on all moving textures. If I increment the counter by 0.5 then round the counter down during key frame checks, it'll output the keyframe value twice for two frames, making it 30fps. Then for the calculations that are used when no keyframe is triggered, I reload the fractional counter to normal - making it update at 60fps. Since keyframe are infrequent, it's effectively 60fps. The conveyor stutters slightly for one frame every 45 seconds (I think), you don't even really notice it.

Here's my new moving textures code. It may need more tweaks.
DeLag + Moving Textures code: (Show Spoiler)

The Z button issue is weird. It works if you release it within about 4 frames, then it breaks for a few frames, then it works because you've held it long enough.
I've reached Central Factory in the meantime, and while your latest code fixed the conveyor belts in Mechonis Field, there is an another one in CF (Between Landing strip 1 and Maintenance Entrance 1 on ground floor). It had the same issue as the MF ones, but now they are broke differently. They move in the right direction for 1-2s then stop and maybe even turn around for a few frames before they move in the right direction again.

There is also 2 pairs of them on the topmost floor of Mechonis Field. Those were not affected at all. Just to keep an eye on them, so you won't accidentally break it Smile

Aside from that everything else seems to work perfectly. The title screen is in 60 fps, the slideouts are the correct speed, and the head movements also seems to work correctly. You literally fixed almost every single bug I reported in a few days. Great work!
Thanks for the continued reports. I'll keep working!
I forget, did we determine that 60fps cutscenes involved way too much math and weird stuff to be worth it? This testing was the first time I'd looked at this thread in a while, sorry.
The code that worked the best lagged quite a bit (possibly solvable) and had additional bugs that took too much effort to track down. Maybe I would have kept working on it if the code didn't need more work outside of movies, but with all the extra work I've needed to do, I'm planning on just dropping movies.

/edit Tell me if this fixes nunchuck's Z and if it breaks or hurts anything else, control-wise
$z button
C2449844 00000002
7D084214 7C083800
60000000 00000000

Give me a save directly next to the broken conveyor in central factory.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31